每日一折腾—生成 SSH 密钥并修改 SSH 设置

1. 创建 SSH 密钥

首先创建一个 2048 位 RSA key

ssh-keygen -t rsa

会问你保存地址,默认保存在/root/.ssh/下,然后会问是否用 passphrase 加密,不加密可以直接回车,加密则输入两次密码。

接着 key 就生成好了,共两个文件,id_rsa 和 id_rsa.pub。

切换到密钥保存的目录,然后导入 id_rsa 至 puttygen

puttygen

如果是加密过的,会提示输入 passphrase,然后点 Save private key:

puttygen-private key

这就完成了,回到 VPS 这边,吧 id_rsa.pub 转为 key 文件:

cat id_rsa.pub >> authorized_keys

接着把 id_rsa 和 id_rsa.pub 都下载下来,就可以删除了,并调整目录权限。

rm id_rsa
rm id_rsa.pub
chmod 600 authorized_keys
chmod 700 -R ../.ssh

2. 修改 SSH 设置

完成这些之后,就可以修改 SSH 设置了,这时候需要谨慎进行,建议分三步进行。

2.1 开启密钥登陆

首先修改 openssh 设置

nano /etc/ssh/sshd_config

Port 22 可以改为其他端口,开启 rsa key 登陆

PubkeyAuthentication yes

AuthorizedKeysFile /root/.ssh/authorized_keys #这里需要注意用户权限,要保证登陆的的用户能共访问到此目录

之后重启 SSH,看看是否能够通过密钥直接登陆。

2.2 关闭密码登陆

确认可以登陆后再修改为不允许明文密码登陆

PasswordAuthentication no

2.3 禁止 root 登陆

在文件最后添加一行,禁止 root 登陆

PermitRootLogin no

完成以上设置后,参考这个帖子怎样通过 Sudoers 在 WinSCP 中获得免密码 Root 权限,进一步提高 VPS 安全性。

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.