【发布时间】:2020-09-13 04:20:04
【问题描述】:
我有一个私人 Github 存储库,我想使用相同的 ssh 密钥集从两台不同的 Linux 机器访问
对于第一台机器,我按照Github's instructions 生成 SSH 密钥,并将生成的公钥添加到 Github。这个客户端工作正常。 我在 GitHub gists 中上传了我的私钥和公钥,以便在第二个客户端上轻松获取它
在第二台机器上,我下载了私钥和公钥到必要的目录,并赋予了相关权限。
wget -O /root/.ssh/id_rsa.pub URL(RAW)
wget -O /root/.ssh/id_rsa URL(RAW)
chmod 700 /root/.ssh
chmod 600 /root/.ssh/id_rsa
chmod 600 /root/.ssh/id_rsa.pub
我认为这可能是我所要做的,但是当我尝试连接时,我收到以下错误
root@InstanceIDInHexa:~# ssh -T git@github.com
The authenticity of host 'github.com (xxx.xxx.xxx.xxx)' can't be established.
RSA key fingerprint is SHA256:RandomStringOfAlphaNumericCharacters.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,xxx.xxx.xxx.xxx' (RSA) to the list of known hosts.
Load key "/root/.ssh/id_rsa": invalid format
git@github.com: Permission denied (publickey).
root@InstanceIDInHexa:~#
我还检查了所有文件的内容和权限,看起来不错
cat /root/.ssh/id_rsa
cat /root/.ssh/id_rsa.pub
stat -c "%a" /root/.ssh
stat -c "%a" /root/.ssh/id_rsa
stat -c "%a" /root/.ssh/id_rsa.pub
这里有什么我遗漏的吗?
【问题讨论】:
-
对于以后的问题,我建议您匿名化您的数据。将 SSH 指纹、IP 或实例 ID 留在问题中是没有意义的。
-
@Uberhumus 感谢您提出修改建议,我将始终确保它不会再次发生
-
不要共享私钥。如果你有两台机器,为每台机器生成一个单独的对,并将两个公钥推送到 GitHub。如果一个私钥被泄露,它不会影响另一个。
-
@chepner 我知道并且我已经测试过,如果我在我的第二台机器上生成一个新的对并将公钥添加到 github,它可以工作,但由于某种原因它不适合我这样做并且关于为多台机器使用同一组密钥的可能性,根据我在堆栈交换中看到的一些答案,这绝对是可能的 - 这是其中之一 - serverfault.com/a/170683
-
我怀疑
wget对行尾做了什么;它可能已经放弃了最后的\n。
标签: linux git github ssh ssh-keys