使用 ssh-agent 连接到 vagrant-lxc 机器

使用 ssh-agent 连接到 vagrant-lxc 机器

我想使用已加载的 ssh-key 连接到 vagrant-lxc 机器。为了更清楚一点,以下是我的设置:

  1. 通过 PuTTy 在 Windows 中加载 ssh-key
  2. 通过启用代理转发的 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"您最有可能使用的 ,只不过是用 调用sshVagrant 主机上的任何东西"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"可以正常工作。

希望这可以帮助。

相关内容