每个主机使用特定的id_rsa密钥文件

时间:2013-08-06 16:02:00

标签: unix ssh ssh-keys

我希望这是发布此内容的正确位置。

我有一台通常从工作中连接的虚拟机。为了从家里连接,我得到了以下指示:

./ssh/id_rsa./ssh/id_rsa.pub从工作机器复制并粘贴到家庭计算机。还要创建一个配置文件,如:

# Debian VM
Host nacho4d.dev.acme.com
# IdentityFile ~/.ssh_acme/id_rsa
 User nacho4d
 ProxyCommand ssh ns.dev.acme.com -l nacho4d nc -w 1 %h %p
# Tunnel/springboard server 
Host ns.dev.acme.com
# IdentityFile ~/.ssh_acme/id_rsa
 User nacho4d
 ProxyCommand ssh ts6.in.acme.com -l nacho4d nc -w 1 %h %p

所以一切都很好用:

$ ssh nacho4d.dev.acme.com

问题是我已经有了自己的(非工作)私钥,每次我需要使用ssh时我都不想用work .ssh文件夹替换它。太乏味了。

如何使用特定密钥等连接到特定服务器?

我尝试将我的文件放在:

  • ~/.ssh/id_rsa→家庭私钥
  • ~/.ssh/id_rsa.pub→家庭公钥
  • ~/.ssh/config→配置文件如上,但启用了IdentityFile
  • ~/.ssh_acme/id_rsa→工作私钥
  • ~/.ssh_acme/id_rsa.pub→工作公钥

我认为拥有一个包含IndentityFile的配置文件应该让ssh使用特定主机的特定密钥(在这种情况下指向~/.ssh_acme/id_rsa),但我总是得到“权限被拒绝”连接关闭由远程主持人

我错过了什么吗?也许我还需要在其他地方提供公钥?

我检查了VM中的〜。/ ssh / authorized_keys文件,我有工作计算机的ssh-rsa条目而不是家用计算机(由于我使用工作提供的密钥,我认为这是正常的。)< / p>

IdentityFile ~/.ssh_acme/id_rsa怎么没有按预期工作? 每次我需要连接到某个地方时,我是否真的需要交换我的家/工作键? 我几乎是ssh的初学者,但有些东西告诉我必须有一个聪明的方法来做这件事。

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您无需指定哪个键适用于哪个主机,只需重命名键并为每个键添加IdentityFile行:

IdentityFile ~/.ssh/id_rsa_dev_acme
IdentityFile ~/.ssh/id_rsa_in_acme

由于~/.ssh_acme/id_rsa(0700)或~/.ssh_acme(0600)上的权限不正确,~/.ssh_acme/id_rsa中的密钥可能未被使用

最后,这个问题可能与http://unix.stackexchange.com

更相关
相关问题