我在计算机 A 上使用以下命令来生成从计算机 A 到计算机 B 的 ssh 身份验证密钥
ssh-keygen -t rsa
scp ~/.ssh/id_rsa.pub B:.ssh/authorized_keys2
如果进一步我需要为从计算机 C 到计算机 B 的 ssh 生成身份验证密钥,如何防止从 A 到 B 覆盖 B 上现有的文件 .ssh/authorized_keys2?
感谢致敬!
答案1
以不同的名称上传,例如.ssh/newkey
,然后 ssh 登录并
cat .ssh/newkey >> .ssh/authorized_keys2
或者如果你想要更巧妙一点,一步完成所有操作,
ssh user@host "cat - >> .ssh/authorized_keys2" < id_rsa.pub
答案2
A#ssh-copy-id B
C#ssh-copy-id B
如果您需要复制特定的公共密钥,您可以将 -i .ssh/some_key.pub 传递给 ssh-copy-id。authorized_keys 可以有多个密钥条目,而不仅限于一个。
如果您希望通过 ssh (ssh 到 a,然后从 a 到 b,再从 b 到 c),您可能会对 ssh 的 -A 参数感兴趣 (通过 ssh-agent 转发密钥)。