![使用 ssh-agent 连接到 vagrant-lxc 机器](https://linux22.com/image/621129/%E4%BD%BF%E7%94%A8%20ssh-agent%20%E8%BF%9E%E6%8E%A5%E5%88%B0%20vagrant-lxc%20%E6%9C%BA%E5%99%A8.png)
我想使用已加载的 ssh-key 连接到 vagrant-lxc 机器。为了更清楚一点,以下是我的设置:
- 通过 PuTTy 在 Windows 中加载 ssh-key
- 通过启用代理转发的 Putty 连接到 vagrant 主机
完成第二步后,我想启动 vagrant-lxc 机器并使用之前已加载的密钥通过 ssh 进入。不幸的是,我不知道如何配置 vagrant 以使用此密钥。它始终使用默认密钥 ~/.vagrant.d/insecure_private_key 或 Vagrantfile 中指定的密钥文件。
是否可以让 vagrant 使用从 ssh-agent 加载的密钥?
问候,克里斯蒂安
答案1
如果我理解正确的话,您的设置如下所示:
Windows box with PuTTY Pageant + your private key -(PuTTY)-> Vagrant host machine -("vagrant ssh")-> LXC box
。
无论如何,您都应该让在 LXC 盒上运行的 sshd 知道您的公钥:将公钥作为单独的条目放入$HOME/.ssh/authorized_keys
,其中$HOME
是您登录的用户的主目录("vagrant"
是默认的,但可以使用您之前选择的任何内容)。请注意,这是您加载到 PuTTY 的 Pageant 中的密钥的公共部分。另请注意,PuTTY 私钥格式为不是与 OpenSSH 兼容,因此您不能在 Vagrant 主机上将 PuTTY 的私钥文件与 ssh 一起使用。
这或许就足够了。
我无法测试与您的设置完全相同的设置,但"Windows box -(Putty)-> some host (ssh)-> some other host"
combo 可以与我提到的配置配合使用。我假设"vagrant up"
您最有可能使用的 ,只不过是用 调用ssh
Vagrant 主机上的任何东西"vagrant@<lcx-box-ip> -P <vagrant-ssh-port>"
,这意味着 SSH 会进行实际的密钥交换。在这种情况下,一切都按我描述的进行。
如果由于某种原因此操作不起作用,请尝试"vagrant ssh -p"
,或者尝试通过 PuTTY 从您的 Windows 盒直接连接到 LXC 盒 - Vagrant 已将 LXC 盒的 SSH 端口 22 转发到其他端口(默认值为 2222),因此通过 PuTTY 连接也应该"vagrant@<vagrant-host-ip> -P 2222"
可以正常工作。
希望这可以帮助。