linux ssh配置文件配置参数
linux ssh配置文件配置参数
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
MaxAuthTries 5
AuthorizedKeysFile .ssh/authorized_keys
ChallengeResponseAuthentication no
UsePAM yes
X11Forwarding yes
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
Subsystem sftp /usr/libexec/openssh/sftp-server
UseDNS no
AddressFamily inet
PermitRootLogin no
SyslogFacility AUTHPRIV
PasswordAuthentication yes
HostKey
我们ssh-keygen的时候会生成公钥和私钥
似钥保存位置
UsePAM
和下面的MaxAuthTries一样,同样为了防止暴力破解
字符终端下,实现某一用户连续错误登陆N次后,就锁定该用户X分钟
执行 vi /etc/pam.d/login
在#%PAM-1.0 下新起一行,加入
auth required pam_tally2.so deny=3 unlock_time=5 even_deny_root root_unlock_time=10
如果不限制root用户,则可以写成
auth required pam_tally2.so deny=3 unlock_time=5
1其中大概含义如下:
2even_deny_root 也限制root用户;
3deny 设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户;
4unlock_time 设定普通用户锁定后,多少时间后解锁,单位是秒;
5root_unlock_time 设定root用户锁定后,多少时间后解锁,单位是秒;
也可以直接在 system-auth 文件中直接添加这些命令,修改完成后,凡是调用 system-auth 文件的服务,都会生效。因为有自动解锁时间,所以,不用担心全部限制后,会出现永远无法登陆的“尴尬”情况。
备注:
可以使用 pam_tally2 -r -u username 命令,手动清除某用户记录次数
MaxAuthTries
防止服务器被SSH暴力破解密码
在服务端,也就是被ssh连接的一方,修改ssh配置文件
#vim /etc/ssh/sshd_config
MaxAuthTries 6 //系统默认是6次。可以按需要更改,如改为2或其它。注意删除#,并重启sshd使配置生效
但是这种配置可以被破解,假如我们是客户端,在ssh上面的服务端时
ssh -o NumberOfPasswordPrompts=8 carl@192.168.2.200
//通过-o NumberOfPasswordPrompts指定1次连接可以尝试的密码,默认是3次。即1次连接可以输入3次密码。但这个就没办法试出MaxAuthTries 6这个的效用了
//也可以修改客户端配置,重启后每次访问默认就是8
NumberOfPasswordPrompts 8
这个配置只作用于连接次数,而不作用于测试密码次数,如果我们ssh 8次后,才会被限制连接
NumberOfPasswordPrompts
也就是我们上面说的,用户设置了连接次数,每连接一次,我们就消耗了一次机会,直至机会用尽,不再被允许访问
但是我们可以在客户端配置,以此来实现,消耗一次机会的情况下,可以测试多个密码,让MaxAuthTries配置失效
vim /etc/ssh/sshd_config
NumberOfPasswordPrompts 8