質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Q&A

解決済

1回答

4650閲覧

ユーザーが異なる2段sshポートフォーワーディングを.ssh/configに書きたい

KokiNakamura

総合スコア12

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

0グッド

1クリップ

投稿2017/11/10 05:33

現在ローカルから踏み台サーバーを経由してリモートサーバーへ2段階ssh port forwardingを行っています.

現在は以下のようにコマンドを直接,ローカル,踏み台サーバーへ打ち込んでいるのですが,configファイルに記述してローカルから一発でport forwardしたいのですが,方法がわかりません.

ローカル→踏み台サーバー
ssh -p 50000 -L 8888:localhost:12345 user_a@XXX.XXX.XXX.XXX(踏み台のip)

踏み台サーバー→リモートサーバー
ssh -L 12345:localhost:8888 user_b@YYY.YYY.YYY.YYY(リモートのip)

方法をご存じの方お教えいただけると有難いです.
よろしくお願いいたします.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

やりたいことは、localhost:8888YYY.YYY.YYY.YYY:8888 にポートフォワードしたいということでしょうか?
踏み台(XXX.XXX.XXX.XXX)から直接 YYY.YYY.YYY.YYY:8888 に接続できるようであれば、多段にしなくても、以下のコマンドでいいと思います。

(localhost のみアクセスできればいいなら) [local]$ ssh -f -N -L 127.0.0.1:8888:YYY.YYY.YYY.YYY:8888 -p 50000 user_a@XXX.XXX.XXX.XXX (公開するなら) [local]$ ssh -f -N -L 0.0.0.0:8888:YYY.YYY.YYY.YYY:8888 -p 50000 user_a@XXX.XXX.XXX.XXX ※"-f -N" オプションを付けるとバックグラウンドで起動します。 停止する場合、kill コマンドを利用ください。

リモートサーバーの 8888 番ポートが 127.0.0.1 しか LISTEN していないのであれば、多段にする必要があります。
まずは、ProxyCommand を使って、localhost → YYY.YYY.YYY.YYY に直接 SSH ログインできることを確認します。

(~/.ssh/config) Host remote1 User user_b HostName YYY.YYY.YYY.YYY ProxyCommand ssh -W %h:%p -p 50000 user_a@XXX.XXX.XXX.XXX [local]$ ssh remote1 ※user_b@YYY.YYY.YYY.YYY にログインできることを確認

次に、ポートフォワードを試します。
上記コマンドに -L オプションを付けて、ssh -f -N -L 127.0.0.1:8888:127.0.0.1:8888 remote1 としてもいいですし、config で LocalForward を設定してもいいです。

(~/.ssh/config) Host portforward1 User user_b HostName YYY.YYY.YYY.YYY ProxyCommand ssh -W %h:%p -p 50000 user_a@XXX.XXX.XXX.XXX LocalForward 127.0.0.1:8888 127.0.0.1:8888 #LocalForward 0.0.0.0:8888 127.0.0.1:8888 [local]$ ssh -f -N portforward1 ※localhost:8888 → YYY.YYY.YYY.YYY:8888 にポートフォワードされることを確認

なお、ssh のポート番号は、踏み台(XXX.XXX.XXX.XXX)は 50000、リモートサーバー(YYY.YYY.YYY.YYY) は 22 と想定しています。

投稿2017/11/10 16:05

TaichiYanagiya

総合スコア12141

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問