欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用OpenSSH远程管理Linux服务器

程序员文章站 2023-12-30 14:49:40
...

作为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。我们重点讲述这个配置文件中每个选项的含义。


  1.  
    1.     [[email protected] ~]# vi /etc/ssh/sshd_config  
    2.     Port 22    
    3.     "Port"用来设置sshd监听的端口,这里采用的是默认的端口号22  
    4.     #Protocol 2,1    
    5.     (设置使用的ssh协议为ssh1ssh2,如果仅仅使用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守护进程,使修改生效:


  1. /etc/init.d/sshd restart 
     

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

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


  1. chkconfig --level 35 sshd on 
     

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

上一篇:

下一篇: