ローカルPCでOpenSSHのProxyCommandを使う

目的

localhostからremote1.comを介してremote2.comにアクセスしたい。

前提

 [UnixPC/OpenSSH]
  ↓
 [remote1.com/OpenSSH]
  ↓
 [remote2.com/OpenSSH]
  • localhost/remote1/remote2、全てのサーバ(ホスト)はOpenSSHのインストールされたUNIX系OSとする。
  • remote1/remote2のFQDNは以下の通りとする。
    • remote1.com
    • remote2.com
  • remote1/remote2のユーザ名は以下の通りとする。
    • remote1: user-remote1
    • remote2: user-remote2
  • 公開鍵の登録を以下の通りにしておく。
    • localhostの公開鍵をremote1のauthorized_keysに登録しておく。
    • localhostの公開鍵をremote2のauthorized_keysに登録しておく。

手順

1. connectコマンドをremote1.comにインストールする。

 wget http://www.meadowy.org/~gotoh/ssh/connect.c
 gcc connect.c -o connect
 cp connect $HOME/bin/

nc(netcat)コマンドでも良い。http://netcat.sourceforge.net/

2. localhostの$HOME/.ssh/configを以下のようにする。

 Host remote2.com
 user user-remote2
 ProxyCommand ssh -l user-remote1 remote1.com /home/user-remote1/bin/connect %h %p

3. localhostからSSHコマンドを実行してremote2へ接続できるようになる。

 ssh remote2.com

参考


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2013-12-24 (火) 19:52:22