サーバーを踏み台にして別のサーバーに接続する方法


仕事でサーバーの管理をすることがあるのですが、直接ログインしたいのにIPアドレスでアクセス制限をかけられているため、一旦別のサーバーにログインした後、そこを経由して目的のサーバーに接続しなければならないという事態に遭遇してしまいました。


図にするとこんな感じです。自分のマシンからサーバーAにアクセスしたいのですが、一旦サーバーBを踏み台にしてアクセスするということをやっています。


 自分のマシン →  サーバーB →  サーバーA
   



本当はこんなふうに、直接アクセスするのが理想です。



 自分のマシン →  サーバーA
 



一旦別サーバーを経由するというのがとても面倒です。

どうしたものかな?と思っていたら、実はとても便利な方法があることを知りました。それは、TeratermのSSHのポート転送を使うという方法です。




SSHのポート転送機能なら、一度設定するだけで直接アクセスできるようになる


TeratermのSSHポート転送機能を使うと、サーバーAのポートをローカルマシンに直接転送することができます。その結果、ローカルマシンがまるでサーバーAに直接つながっているようになり、サーバーBを経由することなくSSHやsftpなどの操作で直接サーバーAにアクセスすることができるようになります。


そのやり方をご紹介します。


1.まず、Teratermを起動しサーバーBに接続します。






2.メニュー→設定から、SSH転送を選択します。





3.追加ボタンを押します。




4.ローカルのポートに適当な数字を入力します。この場合は9999としています。リモート側のホストは、サーバーAのアドレスもしくはIPアドレスを入力します。ポートの部分には、サーバーAのSSHポート(22番)を入力します。


  


5.OKボタンを押してSSHポート転送設定ウィンドウを閉じます。この接続は作業が完了するまで保持しておきますので、メインの操作ウィンドウは閉じないでください。



6.次に新しくTeratermを起動します。
  ホスト名にローカルアドレス(127.0.0.1)を入力します。ポート番号は4.で設定した9999の値を入力します。
  




7.接続すると認証ウィンドウが開きます。サーバーAのユーザー名とパスワードを入力してください。





以上で、サーバーAに直接アクセスできるようになりました。5までの操作を行ってその接続を保持している間は、サーバーAとの接続が保たれています。


Teratermを新しく起動して6.のように入力すれば直接サーバーAにアクセスできますし、sftpのクライアントソフトを立ち上げて、直接サーバーAにファイルを転送したりできます


これでだいぶ便利になりました。


このポート転送を応用すると、ずいぶん便利な使いかたができるようになります。たとえば、アクセス制限があるサーバーでもSSHポート転送でデータベースに楽々接続のページでも書いているように、本来はポートが閉じていて接続できないようなデータベースにもアクセスできるようになったりします。


いろいろ便利になりますので、是非試してみてください。


このエントリーをはてなブックマークに追加



関連記事 

1.アクセス制限があるサーバーでもSSHポート転送でデータベースに楽々接続



▲ このページの上部へ戻る