- 締切済み
SSHで多段接続
SSHで多段接続 これまでSSHを利用した接続で、ポート転送を利用した経験があるのですが、 踏み台を追加していくことは可能でしょうか。 以下の経験はあります。 【PC】--(ssh)--> 【踏み台Linux】--(ssh)--> 【Linux】 【PC】--(ssh)--> 【踏み台Linux】--(ターミナルサービス)--> 【Windows】 試したいのは具体的に以下です。 【PC】--(ssh)--> 【踏み台Linux】--(ssh)-->【踏み台Linux】--(http)-->【Linux】 【PC】--(ssh)--> 【踏み台Linux】--(ssh)-->【踏み台Linux】--(ftp)-->【Linux】 最終行き先へのプロトコルのレスポンスが欲しいです。 各接続間はIPによる制限がかかっています。 以上よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- hiroaki101
- ベストアンサー率81% (97/119)
こんにちは。ターミナルまたはプロンプトを2枚開いて、以下のsshコマンドをそれぞれで順番に実行し、ブラウザでhttp://localhost:2080を開くとどうなるでしょうか。sshserver1は最初に通過するSSHサーバ、sshserver2はウェブ・FTPサーバの側のSSHサーバです。 1)ssh -l (user1) -L 2022:sshserver2.example.com:22 sshserver1.example.com 2)ssh -l (user2) -p 2022 -L 2080:httpserver.example.com:80 localhost お手元のコンピュータで1024以下のポートを開くには管理者権限が必要かもしれませんので、それ以上のポートをlocalhostに開くようにしています。まず2つ目のsshサーバまでトンネルを作成し、そのトンネル(localhost:2022/tcp)を通して2つ目のsshサーバにログインし、ウェブサーバまでトンネル(localhost:2080 -> httpserver.example.com:80)を作らせようとしています。これでウェブサーバにアクセスできると思います。 なお、ログイン先でシェルを開かなくてもいいのでしたら、 ssh -l (user1) -L 2022:sshserver2.example.com:22 -N sshserver1.example.com & と"-N"を付ければバックグラウンドで動作するでしょう。 FTPサーバの場合、sshトンネル経由でPORTモードで接続するのは無理だと思います。また、PASVモードが可能だとして、データコネクション用PASVポートをサーバ側で(例えば5000/tcpとして)決め打ち指定できないと難しいでしょう。もしそれが可能でしたら、以下のようにトンネルを作成し、ftp://localhost:2021にアクセスしてみて下さい。 1)ssh -l (user1) -L 2022:sshserver2.example.com:22 sshserver1.example.com 2)ssh -l (user2) -p 2022 -L 2021:ftpserver.example.com:21 -L 5000:ftpserver.example.com:5000 localhost そのFTPサーバでもsshサーバを動かしてもらい、ftpの代わりにscpを使うような方策も考えられます。リモート側での移動・削除などはシェルコマンドで行うことになります。 1)ssh -l (user1) -L 2022:sshserver2.example.com:22 sshserver1.example.com 2)ssh -l (user2) -p 2022 -L 3022:ftpserver.example.com:22 localhost 3)scpコマンドは(Linux/Unix等の場合): scp -P 3022 -v -C ./some.txt user@localhost:/home/user/some.txt (こちらからコピー) scp -P 3022 -v -C user@localhost:/home/user/some.txt ./some.txt (こちらへコピー) http経由でサーバ上のファイルを操作するようなサーバソフトをFTPサーバにインストールして利用する方法もあります。この場合、FTPサーバのホスト向けにhttpアクセス用のSSHトンネルを作って操作できると思います。 http://webos-goodies.jp/archives/51040374.html http://mizushima.ne.jp/Linux/Webmin/Webmin.php ところで、「最終行き先へのプロトコルのレスポンス」と書かれていますが、具体的に何が必要なのか分りませんでした。ターミナル等のエラー出力でしょうか。
補足
ご返答遅れて申し訳ございません。 詳しい説明ありがとうございます…がCUI入力は苦手で、SSHコマンドを 勉強することから始めないと理解が難しいようです。 「最終行き先へのプロトコルのレスポンス」とは、 クライアント側でhttpであればブラウザ、ftpであればftpソフト(FFFTP等)を 使うことをイメージしていますので、それに必要なレスポンス、という意味です。 机上の想像の域なので、単純に「できるもんなの?」という疑問です。 とはいえ実状として、IP制限がかかっているので、どうにかして解決できないか 思案中です。