通过代理的 SSH 隧道传输到远程服务器上的 运行 BOSH 命令

SSH tunnelling through a proxy to run BOSH commands on the remote server

我正在尝试编写一个非交互式脚本,它将通过代理创建到远程计算机的隧道。我只创建了一个到特定端口的隧道:25555

ssh -L localhost:25555:$BOSH_TARGET ubuntu@$PROXY -i id_rsa -o StrictHostKeyChecking=no -f -N

我必须在以 BOSH 为目标时使用证书,我确实这样做了。

bosh --ca-cert ca-certificate target localhost:25555

凭据以我已经设置的环境变量的形式获取。

目标已设置,但 BOSH 目标命令尝试连接到位于不同端口的 UAA 服务器:8443 并且连接超时。

我尝试在我的本地主机上创建到 8443 的隧道,但 BOSH 命令尝试使用 $BOSH_TARGET:8443 而不是 localhost:8443

所有这些命令都发生在 docker 容器中。我该怎么做?

这条命令就生效了,看来你得特别提一下--non-interactive。

bosh --non-interactive ${target_opts} target localhost:25555

printf "${BOSH_USER}\n${BOSH_PASSWORD}" | bosh login

因为非交互不适用于 UAA