跳转至

安全

Security

禁用密码登录

https://zzz.buzz/zh/2016/04/18/hardening-sshd/

/etc/ssh/sshd_config

Bash
# 禁用旧版本的有漏洞的 SSH 协议
# (旧版本的 sshd 默认允许新旧版本(2,1)的协议,新版本的 sshd 默认只接受新版本(2)的协议)
Protocol 2

# 禁止使用密码登入(默认允许)
# 注意:需先配置好有 root 权限的用户的公私钥对登入后再禁止密码登入,
#       避免自己无法登入服务器,或使用低权限用户登入服务器后无法取得 root 权限。
PasswordAuthentication no

# 禁止空密码账户登入(默认禁止)
PermitEmptyPasswords no

# 禁止 root 账户通过密码登入(默认允许)
# (root 账户仍可以通过公私钥对登入,如果配置了的话)
PermitRootLogin without-password
# (新版本的 sshd 也支持使用更符合直觉的名字 prohibit-password)
#PermitRootLogin prohibit-password
# 或:禁止 root 账户通过 SSH 登入(默认允许)
#PermitRootLogin no

# 只允许白名单内的用户登入(默认允许所有用户登入)
AllowUsers alice bob@corporation
# 或禁止黑名单内的用户通过 SSH 登入(默认允许所有用户登入)
DenyUsers alice bob@corporation

为了方便,可以允许用户通过密码登录,但限制能登录的Ip(通过修改host.allow和Host.deny),不过还未见到效果。待测试

Bash
PasswordAuthentication no
Bash
sudo systemctl restart sshd  sudo service restart sshd