SSH的配置文件
SSH的配置文件
服务器主程序: /usr/sbin/sshd
服务器配置文件: /etc/ssh/sshd_config
客户端主程序: /usr/bin/ssh
客户端配置文件: /etc/ssh/ssh_config
一、/etc/ssh/sshd_config
在这个目录下有两个配置文件,一个是sshd_config,意思是当说这台服务器被客户端远程连接时,使用这个配置文件;另外一个是ssh_config,意思把这台服务器当作客户端,通过ssh去连接其他的服务器时,使用这个配置文件。重点要说的,就是服务器的配置文件。
※ Port 22 # 端口,SSH默认端口是22,也就是说如果配置文件不写任何东西或者是注释掉,它都有一个生效的默认值,比如端口是22。一般服务器推荐是改掉默认端口,防止被人恶意攻击。
※ ListenAddress 0.0.0.0 # 监听的IP地址。因为一台Linux可以配置多个ip,你要监听哪个ip就把值填上。默认值为0.0.0.0,表示监听任何ip。
※ HostKey /etc/ssh/ssh_host_rsa_key # 私钥保存位置。公钥是需要传输给客户端的,而私钥是保存在服务器当中。只要一台服务器安装好ssh服务,默认的钥匙对是已经建立好的。rsa、sda、ecdsa、ed25519都属于加密方式。
※ SyslogFacility Auth # 日志记录ssh登录情况,记录在/var/log/secure当中。
※ LogLevel INFO # 日志等级,如下图。
※ GSSAPIAuthentication yes #GSSAPI认证,默认开启。这个GSSAPI需要DNS服务才能认证。服务器端启用了GSSAPI,登陆的时候客户端需要对服务器端的IP地址进行反解析,如果服务器的IP地址没有配置PTR记录,那么就容易在这里卡住了。如果你的局域网服务器通过ssh连接另外一台局域网服务器时,需要等待很长时间,那么就与它有关。
※ PermitRootLogin yes #是否允许root的ssh登录。一般的服务器出于安全性的考虑,都会将这一项改为no,因为root权限太大,容易出一些问题。
※ PubkeyAuthentication yes # 是否使用公钥验证
※ AuthorizedKeysFile .ssh/authorized_keys # 公钥的保存位置
※ PasswordAuthentication yes # 是否允许使用密码验证登录。当开启公钥验证时,这一项可以改为no,以后的ssh远程不需要密码就可以直接登录,很方便且安全。
※ PermitEmptyPasswords no # 是否允许空密码登录,默认为no。