在客户端生成密钥对

ssh-keygen -t rsa -b 4096

将公钥复制到服务器

ssh-copy-id user@remote_host

配置SSH服务端

确保/etc/ssh/sshd_config允许使用公钥登录

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
## 禁用密码登录
PasswordAuthentication no

重启SSH服务

sudo systemctl restart sshd.service

配置SSH失败次数限制

编辑`/etc/ssh/sshd_config`

## 设置认证尝试次数,如果没有可以手动添加
MaxAuthTries 3

重启SSH服务使更改生效

sudo systemctl restart sshd

配置登录IP白名单

编辑`/etc/hosts.allow`配置允许的IP地址

sshd: 192.168.1.0/24

编辑`/etc/hosts.deny`配置拒绝其他所有IP地址访问

sshd: ALL

重启SSH服务

sudo systemctl restart sshd