リモート接続による起動時にトンネルを作成する

リモート接続による起動時にトンネルを作成する

私の状況は次のとおりです。

A:ボタンを数回クリックすると、6つのLinuxサーバーから複数のサービスをリモートで再起動できるダッシュボードサーバーがあります。

B. 私は複数のデータベースサーバーを持っています。 2つは開発用で、2つは本番用です。ノードサーバー2台

私のスクリプトは、1つのノードを2つのデータベースサーバーに同時に接続します。

#!/bin/bash

ssh -f -N -L 3307:192.168.0.19:3306 -L 3308:192.168.0.20:3306 192.168.0.12 -luser

直接入力するか、ターゲットサーバーのスクリプトにあるショートカットを介して入力する場合にのみ機能します。

私が望むのは、ダッシュボードを介して問題のサーバーを再起動している間、exec( './localdashbaordscript')でスクリプトを実行することです。

問題は、このスクリプト(./tunnel.sh)がダッシュボードからSSHを介してリモートまたはcronジョブとして実行されないことです。

クローンタブ -e:

@reboot /home/user/sh/tunnel.sh

どんなアイデアがありますか?私は明らかに言いましたか?ありがとうございます!

答え1

走ってみよう

SERVER=$1
ssh user@$SERVER  'ssh -f -N -L 3307:192.168.0.19:3306 -L 3308:192.168.0.20:3306 192.168.0.12 -luser'

ダッシュボードから

うまくいくのは、ターゲットサーバーからスクリプトを呼び出すことです。

SERVER=$1
ssh user@$SERVER '~/sh/tunnel.sh'

関連情報