OpenSSH(即常说的ssh)的常用配置文件有两个/etc/ssh/ssh_config和sshd_config。,其中ssh_config为客户端配置文件,设置与客户端相关的应用可通过此文件实现;sshd_config为服务器配置文件,设置与服务器相关的应用可通过此文件实现。
一般来说我们常用的都是sshd_config配置文件。
在sshd_config配置文件中,以“# ”(#加空格)开头的是注释信息,以“#”开头的是默认配置信息。
下面我将列举常用的配置信息,并做说明。
1)重点
#Port 22
设置sshd监听端口号,默认情况下为22,可以设置多个监听端口号,即重复使用Prot这个设置项。修改后记得重启sshd,以及在防火墙中添加端口。出于安全考虑,端口指定为小于等于65535,并且非22或22变种的值,
2)重点
#ListenAddress 0.0.0.0
#ListenAddress ::
设置sshd监听(绑定)的IP地址,0.0.0.0表示监听所有IPv4的地址。出于安全考虑,设置为指定IP地址,而非所有地址。::是IPv6的地址不需要改。
3)
Protocol 2
有部分sshd_config配置文件会有此选项。这个选项设置的是ssh协议版本,可以是1也可以是2。出于安全考虑,设置为最新协议版本。
4)
HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
Hostkey设置包含私人**的文件
5)
#SyslogFacility AUTH
SyslogFacility AUTHPRIV
当有人使用ssh登录系统时,ssh会记录信息,记录类型为AUTHPRIV,sshd服务日志存放在/var/log/secure
6)
#LogLevel INFO
设置记录sshd日志信息的级别
7)重点
#LoginGraceTime 2m
设置指定时间内没有成功登录,将会断开连接,若无单位则默认时间为秒。
8)重点
#PermitRootLogin yes
是否允许root登录,默认是允许的,但建议设置为no
9)重点
#PasswordAuthentication yes
是否使用密码验证。当然也可以设置为no,不使用密码验证,转而使用**登录
10)重点
#PermitEmptyPasswords no
是否允许空密码的用户登录,默认为no,不允许
11)
#PrintMotd yes
是否打印登录提示信息,提示信息存储在/etc/moed文件中
12)重点
#PrintLastLog yes
显示上次登录信息。默认为yes
13)重点
#UseDNS yes
一般来说为了要判断客户端来源是否正常合法,因此会使用DNS去反查客户端的主机名。但通常在内网互连时,设置为no,使连接快写。