复制ssh密钥或创build一个新的密钥

我有用于开发的台式机和笔记本电脑。 我在主机(桌面)上生成了一个ssh密钥给使用密码的我的vps。 在最佳实践或安全问题方面,最好是在我的笔记本电脑上生成一个新的ssh密钥到同一个vps,或者我应该从桌面上将ssh密钥复制到笔记本电脑。

关于这个主题我读过的所有东西都只是解释了如何将ssh密钥从一台电脑复制到另一台电脑。 我还没有看到任何解释产生新密钥vs复制现有密钥的利弊。 (这两台机器都由我独自使用)。

我同意https://unix.stackexchange.com/questions/208495/ssh-key-authentication-with-multiple-computers 。 你可以做任何一个,但每一个都有其优点和缺点。

我宁愿为每台受信任的机器创build一个新的SSH私钥。 这样一来,如果有人受到危害,那只需要更换机器的钥匙。 复制私人密钥也可能增加其他人访问它的机会。 它基本上成为一个单一的失败点。 BitBucket等网站build议用户每年更换一次SSH密钥是有原因的。

只要您的私钥使用高质量的密码进行保护,将其从一台机器复制到另一台机器是安全的。

在其他地方复制密钥会增加对第三方获取访问权限的风险。 如果您正在重复使用密钥,而且密码被破坏,则无法知道哪个工作站已被盗用。 我强烈build议为每个工作站设置一组密钥,这样可以很容易地撤销密钥而不会丢失其他地方的访问权限。

由于您使用密钥而不是密码login到您的服务器,我强烈build议在您的SSH服务器上禁用密码validation。 这将有助于防止对您的SSH服务的暴力攻击。 确保您已经成功使用您的密钥login,否则您将被locking。

$ sudo nano /etc/ssh/sshd_config 

然后在configuration文件中find#PasswordAuthentication yes行

并将其更改为PasswordAuthentication no

testing你的configuration文件,以确保没有错误(没有输出意味着没有错误)

 $ sudo sshd -t 

然后重新启动你的SSH守护进程(假定systemd)

 $ sudo service ssh restart