SSH 和公钥

SSH 和公钥

我已经按照以下说明为 git 创建了密钥http://help.github.com/linux-set-up-git/

这很好,但是当我尝试 ssh 到另一台主机时,它会尝试使用相同的公钥。此外,ssh 到没有公钥的服务器,但密码验证失败,

$ssh user@host
Permission denied (publickey,password).

我该如何解决这个问题,以便对 github 使用默认密钥,但不对其他主机使用默认密钥?

我看见但我不想为每个主机添加条目,我希望其他人表现得像我没有配置任何密钥并要求输入密码。

答案1

重命名您的 GitHub 密钥,使其不使用任何默认密钥文件ssh(类似于~/.ssh/id_rsa_github)。然后将以下内容添加到~/.ssh/config以告知ssh仅使用此密钥连接 GitHub。

Host *.github.com
    IdentityFile ~/.ssh/id_rsa_github

所有其他连接都不会尝试密钥身份验证,因为没有默认密钥。但是,这种情况通常不会造成任何损害 - 如果密钥被拒绝,ssh则会尝试密码身份验证(如果可用)。

答案2

使用你的.ssh/configIdentityFile表达式:

指定从中读取用户的 RSA 或 DSA 身份验证身份的文件。对于协议版本 1,默认为 ~/.ssh/identity,对于协议版本 2,默认为 ~/.ssh/id_rsa 和 ~/.ssh/id_dsa。此外,身份验证代理所代表的任何身份都将用于身份验证。

然后参考.ssh/id_rsa_github(或者你的“仅适用于 github”密钥对的名称)

相关内容