SSH和公钥


1

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

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

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

如何解决此问题以使用github的默认密钥,而不是其他主机?

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

Answers:


1

重命名您的GitHub密钥,以便它不使用任何ssh查找的默认密钥文件(类似~/.ssh/id_rsa_github)。然后添加以下内容~/.ssh/config告诉ssh只使用此密钥连接到GitHub。

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

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


0

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

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

然后参考.ssh/id_rsa_github(或者你的'仅用于github'密钥对的名字是')


谢谢。但是当我使用-i时它不接受密码短语,并且在3次非连续尝试后我得到了Permission denied (publickey,keyboard-interactive).。另外,我仍然不明白如何强制没有密钥使用,但使用密码验证?
umpirsky
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.