OpenSSH Port Forward memo. ・ "proxy.3f.example.co.jp" は、社外からはアクセス出来ない linuxbox ・ "foo.example.com" は、自宅サーバ用 linuxbox ・ "fuga.4f.example.com" は、自宅LAN内にある端末 ・ 社内で利用している proxy, ndtpd と、メンテ用の ssh を自宅LANからも利用したい。 ◎ 会社 "proxy.3f.example.co.jp" の設定 ~/.ssh/config に設定 Host foo.exapmle.com User bar RemoteForward 2200 127.0.0.1:22 RemoteForward 8080 127.0.0.1:8080 RemoteForward 15001 127.0.0.1:15001 # * # 1024番以前のポートを利用する場合はroot権限が必要になるので、適当なポートに転送する。 # (もしくはrootでsshを利用する) # * # SSH ver.2 を使っている場合は ~/.ssh2/ssh2_config に設定するするが、RemoteForward # 若しくは LocalForward の書式は以下の様になる。 # ~/.ssh2/ssh2_config # RemoteForward 2200:127.0.0.1:22 proxy> slogin foo.example.com (会社にいる間に foo.example.com にアクセスしておく) ◎ 自宅LAN "fuga.4f.example.com" の設定 ~/.ssh/config に設定 Host foo.example.com User bar LocalForward 2200 127.0.0.1:2200 LocalForward 8080 127.0.0.1:8080 LocalForward 15001 127.0.0.1:15001 fuga> slogin foo.example.com ◎ fuga から "proxy.3f.example.co.jp" のサービスを利用する ssh => slogin -l bar -p 2200 127.0.0.1 proxy =>127.0.0.1:8080 ndtpd => 127.0.0.1:15001 ================== おまけ ================== ◎ SSH ver.2 の公開鍵を OpenSSH で利用する場合 (DSA鍵) 1. SSH の個人用公開鍵を OpenSSH を使っているホストに持って来て、以下を実行する 2. ssh-keygen -i -f ida_dsa_1024.pub >> ~/.ssh/authorized_keys ◎ OpenSSH の公開鍵を SSH ver.2 で利用する場合 (DSA鍵) 1. ssh-keygen -e -f ~/.ssh/id_dsa.pub > baz.pub 2. baz.pub を SSH ver.2 を使っているホストに持って行き、SSH ver.2 を利用しているサーバで以下を実行する 3. mv baz.pub ~/.ssh2 ; chmod 600 ~/.ssh2/baz.pub 4. cd ~/.ssh2 5. echo "Key baz.pub" >> authorization ◎ SSH ver.2 で個人用秘密鍵を作成する 1. ssh-keygen -b 1024 -> ~/.ssh2 に id_dsa_1024_a (秘密鍵) id_dsa_1024_a.pub (公開鍵) random_seed (乱数シード)が作成される 2. cd ~/.ssh2 3. echo "IdKey id_dsa_1024_a" >> identification (秘密鍵のファイル指定) 4. echo "Key id_dsa_1024_a.pub" >> authorization (公開鍵のファイル指定) ◎ OpenSSH で個人用秘密鍵(DSA鍵)の作成をする 1. ssh-keygen -t dsa -> ~/.ssh の中に id_dsa(秘密鍵) id_dsa.pub(公開鍵)が作成される 2. cd ~/.ssh 3. cat id_dsa.pub >> authorized_keys 4. chmod 600 authorized_keys 5. 自分の公開鍵をリモートホストに持ってゆく。例えば id_dsa.pubをリモートホスト にbar.pubとしてコピーした場合、そのリモートホストにて以下を実行。 cat bar.pub >> ~/.ssh/authorized_keys 6. これでリモートホストに対してパスフレーズでログイン出来るようになる ※ 注意点 ・秘密鍵の作成中はランダムにキーボードやマウスの操作を行う ・パスフレーズは想定され辛い16〜32文字程度のものを利用する ・秘密鍵の管理は厳重に ・公開鍵をリモートホストにコピーする場合は、出来ることであればFD等のメディア を利用するなど、物理的なファイル移動の方が望ましい 2003年06月13日 作成 2003年06月17日 SSH ver.2に関する部分を追記 2005年12月12日 OpneSSH authorized_keys2 → authorized_keys に変更