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
posted @ 2023-03-13 15:49  liwenchao1995  阅读(409)  评论(0编辑  收藏  举报