connect を使って簡単に多段 SSH を実現する方法

comments(2) | trackback(2)

はてなブックマークに追加 はてなブックマーク数 del.icio.us に追加 livedoor クリップに追加 livedoor クリップ数 Yahoo!ブックマークに追加

  OpenSSH 限定の話になるのかもしれませんが,localhost から remotehost1 を経由して remotehost2 に接続するような
  多段 SSH を実現するには,ポートフォワードを使う方法がありました.

  この話は以前ここでも,話題に上げたことがありました ([2005-01-24-2]).
  もちろんこの方法でも実現できますが,OpenSSH の ProxyCommand を利用することで簡単に多段 SSH が実現できます.


  1. ソース (http://www.meadowy.org/~gotoh/ssh/connect.c) を取得します.

  2. ソースのコメントを参考に connect.c をコンパイルします.うちの環境は Solaris なので,以下のようにしました.

$ gcc -O2 -o connect -lresolv -lsocket -lnsl connect.c

  3. connect コマンドをパスの通ったところにコピーします.
     もしくは後でフルパスで指定するのであれば,適当な所にコピーしておきます.

  4. $HOME/.ssh/config に ProxyCommand の設定をします.

Host remotehost2
    # ここの username は remotehost2 のユーザ名
    User username
    # /usr/local/bin/connect は remotehost1 の connect の場所を指す
    ProxyCommand ssh remotehost1 /usr/local/bin/connect %h %p


  これで,ssh remotehost2 をすれば,remotehost1 を経由して remotehost2 に接続することができます.

  connect は 多段 SSH 以外にも,SOCKS や HTTP プロキシも利用することができますので,
  社内や学内などから外部の SSH サーバに接続する場合に,とても便利だと思います.

- SSH Proxy Command -- connect.c
  http://zippo.taiyo.co.jp/~gotoh/ssh/connect.html

- ref.: 外部の SSH サーバに接続する方法
  http://www.st.ryukoku.ac.jp/services/proxy-ssh.html

- ref.:
  [2005-01-24-2]  SSH でポートフォワード
  [2004-12-19-1]  SSH で多段接続?
  [2004-04-21-13] ファイアウォールを超えて SSH する SSH Proxy Command

- 追記 (2008-04-09)
  connect.c のダウンロード先が変更になっていたので、修正しました。

タグ: [Security]

この記事へのコメント

> ssh remotehost1 をすれば
ssh remotehost2 の typo ではないでしょうか...?

あきやん | 2006/09/28 (Thu) 15:20:48

ああ,確かに typo です.
修正しておきました.
どうもありがとうございました.

すなおか | 2006/09/28 (Thu) 17:06:35

この記事へのコメントを書く

名前:

メールアドレス (公開されません):

URL:

コメント (入力必須)

この記事へのトラックバック URL

http://cl.pocari.org/tb.php/2006-09-04-2

この記事へのトラックバック

BookmarkIt

ネットで見つけたよさげな記事。IT編。 tarballからインストールしたソフトウェアを簡単に管理する(ベイエリア情報局) http://blog.bz2.jp/archives/2006/02/tarball.html /opt の下にインストールすると管理しやすいぞ、という話。 connect を使って簡単に多段 SSH を...

PukiWiki/TrackBack 0.2 | 2006/09/07 (Thu) 09:54:29

[computing] PuTTYで多段リモートログイン〜nc, connect, ssh

昨日の続きです. 自宅などからWebサーバに入って,ファイルをほんの少し修正したい,Webサーバにはダイレクトに入れず,「アクセスを許されるドメインのSSHサーバ」*1を介する,というときの方法を記録しておきます. 前提 Windows環境であること,PuTTYをインストールして

たけひこ日記 | 2008/01/18 (Fri) 06:27:45