如何使用多个 SSH 密钥进行无密码登录
我已经写过如何在本地系统上登录并使用 ssh-keygen 命令建立无密码 ssh 连接。但是,您不能一遍又一遍地按照这些说明操作,因为您会覆盖以前的密钥。
您还可以将多个公钥上传到远程服务器,允许一个或多个用户从不同的计算机无需密码登录。
步骤#1:生成第一个 ssh 密钥
键入以下命令在本地工作站上生成您的第一个公钥和私钥。接下来提供所需的输入或接受默认值。请不要更改文件名和目录位置。
最后,使用 scp 将您的公钥复制到远程服务器
workstation#1 $ ssh-keygen -t rsa
workstation#1 $ scp ~/.ssh/id_rsa.pub user@remote.server.com:.ssh/authorized_keys
步骤 #2:生成下一个/多个 ssh 密钥
a)登录第二个工作站
b)使用 scp 从远程服务器下载原始 authorized_keys 文件:
workstation#2 $ scp user@remote.server.com:.ssh/authorized_keys ~/.ssh
c) 现在创建新的发布/私钥:
workstation#2 $ ssh-keygen -t rsa
d) 现在您有了新的公钥。使用 cat 命令将此密钥附加到下载的 authorized_keys 文件中:
workstation#2 $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
e) 最后将authorized_keys再次上传到远程服务器:
workstation#2 $ scp ~/.ssh/authorized_keys user@remote.server.com:.ssh/
您可以对远程服务器的每个用户或工作站重复步骤2。
步骤#3:测试您的设置
现在尝试从工作站 #1、#2 等登录到远程服务器。系统不会要求您输入密码:
workstation#1 $ ssh user@remote.server.com
workstation#2 $ ssh user@remote.server.com
已更新以提高准确性。