我有一个受密码保护的私钥,可以通过 SSH 访问服务器。
我有 2 台 linux (ubuntu 10.04) 机器,并且 ssh-add 命令的行为在它们中都不同。
在一台机器上,一旦我使用“ssh-add .ssh/identity”并输入我的密码,密钥就会被永久添加,即每次我关闭计算机并再次登录时,密钥已经被添加。
在另一个中,我每次登录时都必须添加密钥。
据我记得,我对两者都做了同样的事情。唯一的区别是密钥是在永久添加的密钥上创建的。
有谁知道如何将它永久添加到另一台机器上?
一种解决方案是通过将密钥文件添加到您的文件中来强制永久保留它们~/.ssh/config:
~/.ssh/config
IdentityFile ~/.ssh/gitHubKey IdentityFile ~/.ssh/id_rsa_buhlServer
如果您在 ~/.ssh 目录中没有“配置”文件,那么您应该创建一个。它不需要root权限,所以很简单:
nano ~/.ssh/config
…并根据您的要求输入上面的行。
为此,该文件需要具有 chmod 600。您可以使用命令chmod 600 ~/.ssh/config.
chmod 600 ~/.ssh/config
如果您希望计算机上的所有用户都使用密钥,请将这些行放入/etc/ssh/ssh_config所有人都可以访问的文件夹中。
/etc/ssh/ssh_config
此外,如果您想设置特定于一台主机的密钥,您可以在 ~/.ssh/config 中执行以下操作:
Host github.com User git IdentityFile ~/.ssh/githubKey
当您有许多身份而服务器不会因为您首先尝试错误的身份而拒绝您时,这具有优势。只会尝试特定的身份。