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

使用OpenSSH远程管理Linux服务器

程序员文章站 2022-07-15 14:50:50
...
一 OpenSSH简介

        SSH采用了密文的形式在网络上传输数据,实现了更高的安全级别,是Telenet服务的安全替代品,sshd是OpenSSH的服务器端守护进程,而与之对应的Windows下的客户端软件有很多,常用的有        SecureCRT,Xshell、Putty等。通过SecureCRT远程连接Linux系统,不受网络速度和带宽的影响,无论你是光纤上网还是宽带拨号上网,都能轻松连接,操作维护方便。

        OpenSSH在CentOS Linux发行版本中是默认安装的,一般安装在/etc/ssh,对应的服务器配置文件为/etc/ssh/sshd_config。这里以CentOS7版本为例,终端讲述sshd_config这个配置文件中每个选项的含义。
 
二 sshd_config文件常用配置说明
//"Port"用来设置sshd监听的端口,如果不修改,默认是22端口。
#Port 22
 
//ListenAddress用来设置sshd服务器绑定的IP地址,不需要做特殊设置,保持默认。
#ListenAddress 0.0.0.0
 
//设置使用的SSH协议,默认为SSH2,其实可用的协议还有SSH1,不过SSH1安全度很低,已经基本不使用
#Protocol 2
 
//HostKey用来设置服务器秘钥文件的路径,保持默认即可。
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
 
//用来设置在多长时间之后系统自动重新生成服务器的秘钥。
#KeyRegenerationInterval 1h
 
//用来定义服务器秘钥的长度,默认为1024位
#ServerKeyBits 1024
 
//用来设定在记录来自sshd消息的时候,是否给出“facility code”)
SyslogFacility AUTHPRIV
 
//用来设置sshd日志消息级别
#LogLevel INFO
 
//用来设置如果用户登陆失败,在切断连接前服务器需要等待的时间,以秒为单位。
#LoginGraceTime 2m
 
//用来设置超级root能不能用SSH登录。root远程登录Linux是很危险的,因此在远程ssh登录Linux系统时,这个选项建议设置为no
#PermitRootLogin yes
 
//用来设置SSH登陆请求之前是否检查用户根目录和rhoses文件的权限和所有权。此选项建议设置为yes。
#StrictModes yes
 
//用来设置是否开启RAS秘钥验证,如果采用RAS秘钥登录方式,开启此选项。
#RSAAuthentication yes
 
//用来设置是否开启公钥验证方式验证,如果采用公钥验证方式登录时,开启此选项。
#PubkeyAuthentication yes
 
//用来设置公钥文件的路径,与PubkeyAuthentication配合使用。
AuthorizedKeysFile.ssh/authorized_keys
 
//用来设置SSH在进行安全验证时是忽略用户的$HOME/.ssh/known_hosts文件。
#IgnoreUserKnownHosts no
 
//用来设置在验证的时候是否使用 ~/.rhosts 和 ~/.shosts文件。
#IgnoreRhosts yes
 
//用来设置是否开启密码验证机制,如果采用密码登录系统,设置为yes。
#PasswordAuthentication yes
 
//用来设置是否允许用密码为空的账号登录系统。
#PermitEmptyPasswords no
 
三 注意
对sshd_config文件配置完毕后,接着重启sshd守护进程,使修改生效。
systemctl restart sshd
开机自动重启,则需要执行下面的命令。
systemctl enable sshd