我有Ubuntu 10.04,最近升级到11.10.其他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
它不适用于您的mercurial命令,因为远程服务器可能定义为bitbucket.org
而不是别名bitbucket
.将配置文件更改为答案中建议的配置文件后,ssh可以有效地将远程服务器与主机名匹配,一切正常!
仅供参考,您还可以使用通配符进行模式匹配,例如:
Host bitbucket.* HostName 207.223.240.182 User hg IdentityFile ~/.ssh/bitbucket
也可以,因为在查看配置时,SSH将用其他任何内容替换*.