如何使用特殊的SSH密钥为BitBucket和GitHub推/拉?
我有Ubuntu 10.04,最近升级到11.10。额外的SSH密钥停止工作。我在网站上有钥匙bitbucket
和github
。我怎么能告诉SSH为Bitbucket使用一个特定的密钥,另一个用于GitHub?如何使用特殊的SSH密钥为BitBucket和GitHub推/拉?
所以,我有一个配置:
Host bitbucket
HostName 207.223.240.182
User hg
IdentityFile ~/.ssh/bitbucket
当我打电话ssh bitbucket
,SSH成功登录与键和被踢出。但是当我尝试hg pull
时,我看到“远程hg没有响应”。并且不询问密码。
可以做些什么?
有关为什么张贴在讨论的配置不工作的一些解释,但你的回答呢:
当你调用ssh bitbucket
,SSH看起来你的配置文件名为bitbucket
的主机,该主机使用Host
关键字定义。然后,使用HostName
关键字,您可以定义要使用的真实主机名。在你的情况,你定义bitbucket
作为IP 207.233.240.182我假设一个别名是一个bitbucket.org
,因为远程服务器可能定义为bitbucket.org
,而不是它是不是你善变的命令工作别名bitbucket
。将配置文件更改为您的答案中提出的配置文件后,ssh可以有效地将远程服务器与主机名相匹配,一切都很好!
仅供参考,您也可以使用通配符进行模式匹配,例如:
Host bitbucket.*
HostName 207.223.240.182
User hg
IdentityFile ~/.ssh/bitbucket
也将工作,因为在看配置的时候,SSH将与其他任何代替*。
我没有努力!关键在于现在。解决方案是增加.org
主办:
Host bitbucket.org
User hg
IdentityFile ~/.ssh/bitbucket2
如果您有许多密钥,请考虑添加IdentitiesOnly yes选项。 –
是非常有用的阅读,谢谢! –