如何在 Vagrant 中设置到远程机器的自动 SSH 隧道

如何在 Vagrant 中设置到远程机器的自动 SSH 隧道

我创建了一个配置脚本,该脚本可以帮助我在每次启动我的流浪者盒子(Ubuntu 14.04 LTS)时从里面创建一个到远程机器的 SSH 隧道。

我的 Vagrantfile 中有趣的部分:

config.ssh.forward_agent = true
config.vm.provision :shell, path: "setuptunnel.sh", run: "always", privileged: false

以及setuptunnel.sh文件:

#!/usr/bin/env bash
ssh -o StrictHostKeyChecking=no -NL 5432:localhost:5432 me@remotemachine &> /tmp/sshtunnel.log &
if [ $? -eq 0 ]; then
    echo "successfully created ssh tunnel."
else
    echo "error creating ssh tunnel."
fi

但是当我 ssh 进入 vagrant 时,隧道并没有被创建。/tmp/sshtunnel.log显示:

Warning: Permanently added 'remotemachine,1.2.3.4.5' (ECDSA) to the list of known hosts.
Permission denied (publickey).

手动运行 ssh 命令成功建立隧道。那么看起来,当运行配置程序时,代理转发似乎不起作用?

相关内容