ssh(ポート22)のみを介してrootアクセスできるLinux(Ubuntu)サーバーがあります。そのサーバーには、ポート3306でリッスンするMySQLデータベースがあります。パテ(私のマシン)とトンネリング(Linuxマシン)を使用して、私のマシンのローカルポート(たとえば4000)から、ポート22上のLinuxサーバー、そしてポート3306上のサーバーからそれ自体へ?
ssh(ポート22)のみを介してrootアクセスできるLinux(Ubuntu)サーバーがあります。そのサーバーには、ポート3306でリッスンするMySQLデータベースがあります。パテ(私のマシン)とトンネリング(Linuxマシン)を使用して、私のマシンのローカルポート(たとえば4000)から、ポート22上のLinuxサーバー、そしてポート3306上のサーバーからそれ自体へ?
回答:
ssh tunnelコマンドが入力されたマシン(または、あなたの場合:トンネリングのあるPuttyが開始されたマシン)は、「ホスト」と呼ばれます。
地元: -L Specifies that the given port on the local (client) host is to be forwarded to the given host and port on the remote side.
ssh -L sourcePort:forwardToHost:onPort connectToHost
意味:にsshで接続しconnectToHost
、すべての接続試行を、マシンから到達可能なマシンのローカル sourcePort
toポートonPort
に転送します。forwardToHost
connectToHost
リモート: -R Specifies that the given port on the remote (server) host is to be forwarded to the given host and port on the local side.
ssh -R sourcePort:forwardToHost:onPort connectToHost
意味:sshでに接続しconnectToHost
、すべての接続試行をリモート sourcePort
に転送します。これは、ローカルマシンから到達可能なonPort
マシン上のポートに転送さforwardToHost
れます。
最初の画像はあなたの状況を表しています。呼ばれる青いボックスyour host
は、Ubuntuサーバーに対してPuttyを起動するWindowsマシンremotehost
で、私のイメージで呼び出されます。緑のポート(この場合、ポート番号4000
)への接続3306
は、localhost
UbuntuサーバーマシンのピンクのMySQLポート(つまり、Ubuntuサーバー自体)に転送されます。
Puttyを起動し、通常の接続設定(ホスト名またはIPアドレス)を入力します。左側のツリーで、
接続→SSH→トンネル
そして、送信元ポート(画像内の123)と宛先(画像内のlocalhost:456 )で新しいローカルトンネルを作成します。4000
localhost:3306
[ 追加 ]をクリックすることを忘れないでください。
次に、セッションに戻り、[ 保存 ]をクリックして、次回の設定を保持します。保存された接続を使用してサーバーにログインできます。ログインに成功すると、ホストのポート4000に接続するたびに、Ubuntuサーバーのポート3306に実際に接続します。
簡単な答えはイエスですが、トンネルは実際にコンピューターで開始されることに注意してください。それが機能する方法は、サーバーへのSSH接続を作成し(安全です)、SSHにあなたの側のポートをリッスンし、入ってくる接続を転送するように指示します-特定のホストアドレスの特定のポートにサーバ側。トンネルのターゲットは同じサーバーである必要はありません-他の有効なアドレスである場合があります-SSHサーバー自体を実行しているサーバーではない場合-の代わりにSSHサーバーから来たように着信接続を見るクライアントから。
設定するには、Putty構成ダイアログを開き、サーバーへのアクセスに通常使用する接続の設定を選択し、「開く」ではなく「ロード」をクリックします。次に、左側のツリーで、[接続]-> [SSH]-> [トンネル]に移動し、送信元ポート4000と宛先「localhost:3306」で新しい「ローカル」トンネルを作成します(宛先アドレスはサーバーで解決されるため、サーバーの観点から見ると、MySQLポートはローカルホストにあります)。次に「セッション」に戻り、「保存」をクリックして、次回の設定を保持します。これで、保存した接続を使用してサーバーにログインできます。ログインに成功すると、コンピューターのポート4000に接続するたびに、実際にはサーバーのポート3306に接続します。
トンネルに真剣に取り組んでおり、MS-Windowsクライアントを実行している場合は、Puttyを使用して、Puttyコンソールを開かなくてもトンネルを簡単に設定および実行できるPutty Tunnel Managerを検討することをお勧めします。