我创建了一个配置脚本,该脚本可以帮助我在每次启动我的流浪者盒子(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 命令成功建立隧道。那么看起来,当运行配置程序时,代理转发似乎不起作用?