VM にパブリック IP/DNS がある限り、次の手順は Mac でも機能するはずです。サブスクリプションの Azure VM で実行している Spinnaker のインスタンスに対して試してみました。
• ローカル マシンで次の手順を実行します。
• これを ~/.ssh/config に追加し (ファイルが存在しない場合は作成します)、以下の内容を入力します。ファイルに実行権限を付与します (chmod 700 ~/.ssh/config)
Host spinnaker-start
HostName <Full DNS>
ControlMaster yes
ControlPath ~/.ssh/spinnaker-tunnel.ctl
RequestTTY no
LocalForward 9000 127.0.0.1:9000
LocalForward 8084 127.0.0.1:8084
LocalForward 8087 127.0.0.1:8087
User <User name for your vm>
Host spinnaker-stop
HostName <Full DNS>
ControlPath ~/.ssh/spinnaker-tunnel.ctl
RequestTTY no
• 次の内容で spinnaker-tunnel.sh ファイルを作成し、実行権限を付与します (chmod 700)。
#!/bin/bash
socket=$HOME/.ssh/spinnaker-tunnel.ctl
if [ "$1" == "start" ]; then
if [ ! \( -e ${socket} \) ]; then
echo "Starting tunnel to Spinnaker..."
ssh -f -N spinnaker-start && echo "Done."
else
echo "Tunnel to Spinnaker running."
fi
fi
if [ "$1" == "stop" ]; then
if [ \( -e ${socket} \) ]; then
echo "Stopping tunnel to Spinnaker..."
ssh -O "exit" spinnaker-stop && echo "Done."
else
echo "Tunnel to Spinnaker stopped."
fi
fi
使用法: SSH トンネルを開始/停止するには、次のコマンドを実行します。
./spinnaker-tunnel.sh start
./spinnaker-tunnel.sh stop