我们知道SSH连接最方便的莫过于ROOT密码登录了,但方便永远和安全不能兼顾。
在生产环境SSH的ROOT用户密钥对登录方式是一个更安全的选择。一个公钥文件存放在VPS上,一个私钥存在你SSH客户端所在的机器上。连接VPS时使用私钥与公钥配对验证的方式来更安全的登录。
一、手动使用方法
生成密钥对
ssh-keygen -t rsa -b 4096 -C "xxxx@gmail.com" -f /root/.ssh/sshkey -N ""
存放公钥文件到对应位置并授权
cat ~/.ssh/sshkey.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
查看私钥信息复制到本地(SSH客户端所在的设备上)
cat ~/.ssh/sshkey
修改VPS上SSH只接收密钥登录的参数
etc/ssh/sshd_config
PermitRootLogin prohibit-password
PasswordAuthentication no
PubkeyAuthentication yes
ChallengeResponseAuthentication no
rm -rf /etc/ssh/sshd_config.d/* /etc/ssh/ssh_config.d/*
重启服务器后生效
reboot
二、一键自动修改
使用 Kejilion 一键脚本来设置。
curl -sS -O https://raw.githubusercontent.com/kejilion/sh/main/kejilion.sh && chmod +x kejilion.sh && ./kejilion.sh