在多台机器上使用相同的SSH私钥

我有一个Github repo,我想从两台不同的Linux机器上访问。

对于第一台机器,我遵循Github的指令生成SSH密钥,并将生成的公钥添加到Github。 这个客户端工作正常。

对于第二个客户端,我复制了第一个客户端的/home/{user}/.ssh/id_rsa文件。 我认为这可能是我所要做的,但是当我尝试连接时,我会得到“权限被拒绝(publickey)”。

我错过了什么?

    应该可以从多个客户端使用相同的SSH密钥。 对于不同的networking,我有几个不同的SSH密钥,实际上它们存储在一个encryption的USB驱动器上,我使用它从几台不同的计算机上没有问题。

    SSH对文件权限非常挑剔,所以我首先要检查从/home/{user}id_rsa文件本身的所有权限。

    SSH并不真正关心组或世界的写权限,所以请确保你的chmod go-w你的主目录和~/.ssh目录的初学者。 我还要确保它们属于您的用户chown ${USER}:${USER}

    对于SSH密钥本身我chmod 600他们…

    如果你想我有我如何pipe理我的SSH密钥在我的答案另一个SSH问题的额外信息。

    如果您从Github的terminal获得了拒绝权限,可能是因为它没有select您复制的SSH密钥文件,而是系统默认的文件。 一个简单的方法是在~/.ssh/config文件中添加以下内容:

     Host github.com Hostname github.com User git IdentityFile ~/.ssh/yourkeyfile 

    这会迫使你的SSH客户端只使用那个密钥给github.com。

    希望这可以帮助。

    这可能是因为您没有在第二个客户端上复制该文件的权限。
    但是一个私钥是私有的 ,正确的方法是在第二个客户端上创build一个新的私钥,然后把它的公钥添加到Github