我希望这是发布此内容的正确位置。
我有一台通常从工作中连接的虚拟机。为了从家里连接,我得到了以下指示:
将./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的初学者,但有些东西告诉我必须有一个聪明的方法来做这件事。
感谢任何帮助。
答案 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
更相关