Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2596310
  • 博文数量: 2110
  • 博客积分: 18861
  • 博客等级: 上将
  • 技术积分: 24420
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-05 18:23
文章分类

全部博文(2110)

文章存档

2011年(139)

2010年(1971)

我的朋友

分类: LINUX

2010-02-03 10:37:34

 

  作为Linux系统管理员,没有人不知道OpenSSH。SSH采用了密文的形式在网络中传输数据,实现了更高的安全级别,是Telnet服务的安全替代品,sshd是OpenSSH的服务端守护进程,而与之对应的Windows下客户端软件有很多,常用的有SecureCRT、putty等。通过SecureCRT远程连接Linux系统,不受网络速度和带宽的影响,无论是ADSL拨号上网还是56K的"猫"拨号上网,都能轻松连接,操作维护方便。SecureCRT的使用在前面章节已经有介绍,这里详细介绍OpenSSH服务端程序的配置。

  OpenSSH在Red Hat Linux企业级版本中是默认安装的,一般的安装目录为/etc/ssh,对应的服务器配置文件为/etc/ssh/sshd_config。我们重点讲述这个配置文件中每个选项的含义。

  2.

  1.     [root@localhost ~]# vi /etc/ssh/sshd_config

  2.     Port 22

  3.     ("Port"用来设置sshd监听的端口,这里采用的是默认的端口号22)

  4.     #Protocol 2,1

  5.     (设置使用的ssh协议为ssh1或ssh2,如果仅仅使用ssh2,

  设置为Protocol 2即可)

  6.     #ListenAddress 0.0.0.0

  7.     ("ListenAddress"用来设置sshd服务器绑定的IP地址)

  8.     # HostKey for protocol version 1

  9.     #HostKey /etc/ssh/ssh_host_key

  10. # HostKeys for protocol version 2

  11. #HostKey /etc/ssh/ssh_host_rsa_key

  12. #HostKey /etc/ssh/ssh_host_dsa_key

  13. ("HostKey"用来设置服务器密匙文件的路径)

  14. #KeyRegenerationInterval 1h

  15. ("KeyRegenerationInterval"用来设置在多少秒之后

  系统自动重新生成服务器的密匙(如果使用密匙)。重新生成

  密匙是为了防止利用盗用的密匙解密被截获的信息)

  16. #ServerKeyBits 768

  17. ("ServerKeyBits"用来定义服务器密匙的长度)

  18. SyslogFacility AUTHPRIV

  19. ("SyslogFacility"用来设定在记录来自sshd的消息的时候,

  是否给出"facility code")

  20. #LogLevel INFO

  21. ("LogLevel"用来记录sshd日志消息的级别)

  22. #LoginGraceTime 2m

  23. ("LoginGraceTime"用来设置如果用户登录失败,在切断

  连接前服务器需要等待的时间,以秒为单位)

  24. PermitRootLogin no

  25. ("PermitRootLogin"用来设置超级用户root能不能用SSH登

  录。root远程登录Linux是很危险的,因此在远程SSH登录Linux

  系统时,这个选项建议设置为"no")

  26. #StrictModes yes

  27. ("StrictModes"用来设置SSH在接收登录请求之前是否检查

  用户根目录和rhosts文件的权限和所有权。此选项建议设置为"yes")

  28. #RSAAuthentication yes

  29. ("RSAAuthentication"用来设置是否开启RAS密钥验证,

  如果采用RAS密钥登录方式时,开启此选项)

  30. #PubkeyAuthentication yes

  31. ("PubkeyAuthentication"用来设置是否开启公钥验证,

  如果采用公钥验证方式登录时,开启此选项)

  32. #AuthorizedKeysFile     .ssh/authorized_keys

  33. ("AuthorizedKeysFile"用来设置公钥验证文件的路径,

  与"PubkeyAuthentication"配合使用)

  34. # similar for protocol version 2

  35. #HostbasedAuthentication no

  36. #IgnoreUserKnownHosts no

  37. ("IgnoreUserKnownHosts"用来设置SSH在进行

  RhostsRSAAuthentication安全验证时是否忽略用户

  的"$HOME/.ssh/known_hosts"文件)

  38. #IgnoreRhosts yes

  39. ("IgnoreRhosts"用来设置验证的时候是否使用

  "~/.rhosts"和"~/.shosts"文件)

  40. PasswordAuthentication yes

  41. ("PasswordAuthentication"用来设置是否开启密

  码验证机制,如果是用密码登录系统,应设置为"yes")

  42. PermitEmptyPasswords no

  43. ("PermitEmptyPasswords"用来设置是否允许用口令为

  空的账号登录系统,肯定是"no"了)

  44. X11Forwarding yes

  45. ("X11Forwarding"用来设置是否允许X11转发)

  46. #PrintMotd yes

  47. ("PrintMotd"用来设置sshd是否在用户登录的时候显示"/etc/motd"中的信息)

  上面括号中带下划线的内容为注释,是对sshd_config配置文件中每个选项含义的解释,这里仅仅列出最常用的一些选项,也是我们给出的推荐配置。

  对sshd_config文件配置完毕,接着重启sshd守护进程,使修改生效:

  

  /etc/init.d/sshd restart

  /etc/init.d/sshd restart

  注意 这里要切记的是,重启sshd服务,一定要到Linux系统本机去执行,如果在SSH远程连接环境下重启sshd服务,你就会被关在门外!

  最后一步是设置sshd服务开机自动启动,只需执行如下命令即可:

  

  chkconfig --level 35 sshd on

  chkconfig --level 35 sshd on

  这样sshd服务会在系统运行级3和5下自动启动。

阅读(308) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~