OpenSSH 远程管理 Linux服务器
本章将详细介绍下各种应用的架设过程,首先讲述SSH和 Telnet服务的配置,这样就为连接上做好了准备,接着依次介绍Web与数据库服务器的架设流程,FTP服务器的架设和优 化,DNS域名服务器的搭建和使用。通过对各种服务的架设,使读者能迅速了解Linux在各种领域的广泛应用,灵活掌握在服务器环境下Linux的配置方 法与使用技巧。通过本章的学习,加上对前面7章的掌握,读者应该已经对Linux有了一个全面的了解和认识,而作为初学者,您已经顺利踏入了Linux大 门。
8.1 使用OpenSSH远程Linux服务器
作为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。我们重点讲 述这个配置文件中每个选项的含义。
[root@localhost ~]# vi /etc/ssh/sshd_config Port 22 ("Port"用来sshd监听的端口,这里采用的是默认的端口号22) #Protocol 2,1 (设置使用的ssh协议为ssh1或ssh2,如果仅仅使用ssh2,
设置为Protocol 2即可) #ListenAddress 0.0.0.0 ("ListenAddress"用来设置sshd服务器绑定的IP地址) # HostKey for protocol version 1 #HostKey /etc/ssh/ssh_host_key # HostKeys for protocol version 2 #HostKey /etc/ssh/ssh_host_rsa_key #HostKey /etc/ssh/ssh_host_dsa_key ("HostKey"用来设置服务器密匙文件的路径) #KeyRegenerationInterval 1h ("KeyRegenerationInterval"用来设置在多少秒之后
系统自动重新生成服务器的密匙(如果使用密匙)。重新生成
密匙是为了防止利用盗用的密匙解密被截获的信息) #ServerKeyBits 768 ("ServerKeyBits"用来定义服务器密匙的长度) SyslogFacility AUTHPRIV ("SyslogFacility"用来设定在记录来自sshd的消息的时候,
是否给出"facility code") #LogLevel INFO ("LogLevel"用来记录sshd日志消息的级别) #LoginGraceTime 2m ("LoginGraceTime"用来设置如果用户登录失败,在切断
连接前服务器需要等待的时间,以秒为单位) PermitRootLogin no ("PermitRootLogin"用来设置超级用户root能不能用SSH登
录。root远程登录Linux是很危险的,因此在远程SSH登录Linux
系统时,这个选项建议设置为"no") #StrictModes yes ("StrictModes"用来设置SSH在接收登录请求之前是否检查
用户根目录和rhosts文件的权限和所有权。此选项建议设置为"yes") #RSAAuthentication yes ("RSAAuthentication"用来设置是否开启RAS密钥验证,
如果采用RAS密钥登录方式时,开启此选项) #PubkeyAuthentication yes ("PubkeyAuthentication"用来设置是否开启公钥验证,
如果采用公钥验证方式登录时,开启此选项) #AuthorizedKeysFile .ssh/authorized_keys ("AuthorizedKeysFile"用来设置公钥验证文件的路径,
与"PubkeyAuthentication"配合使用) # similar for protocol version 2 #HostbasedAuthentication no #IgnoreUserKnownHosts no ("IgnoreUserKnownHosts"用来设置SSH在进行
RhostsRSAAuthentication安全验证时是否忽略用户
的"$HOME/.ssh/known_hosts"文件) #IgnoreRhosts yes ("IgnoreRhosts"用来设置验证的时候是否使用
"~/.rhosts"和"~/.shosts"文件) PasswordAuthentication yes ("PasswordAuthentication"用来设置是否开启密
码验证机制,如果是用密码登录系统,应设置为"yes") PermitEmptyPasswords no ("PermitEmptyPasswords"用来设置是否允许用口令为
空的账号登录系统,肯定是"no"了) X11Forwarding yes ("X11Forwarding"用来设置是否允许X11转发) #PrintMotd yes ("PrintMotd"用来设置sshd是否在用户登录的时候显示"/etc/motd"中的信息)
上面括号中带下划线的内容为注释,是对sshd_config配置文件中每个选项含义的解释,这里仅仅列出最常用的一些选项,也是我们给出的推荐配 置。
对sshd_config文件配置完毕,接着重启sshd守护进程,使修改生效:
/etc/init.d/sshd restart
注意 这里要切记的是,重启sshd服务,一定要到Linux系统本机去执行,如果在SSH远程连接环境下重启sshd服务,你就会被关在门外!
最后一步是设置sshd服务开机自动启动,只需执行如下命令即可:
chkconfig --level 35 sshd on 这样sshd服务会在系统运行级3和5下自动启动。
- 最新评论