□SSHを使ったポートフォワード
今までに作成した、TCP通信を行うアプリケーションにて、その通信を暗号化したい場合に
アプリケーションの対応なしでも、ssh(openssh)を利用することで、対応が可能な場合があります。
前提として、送信側と、受信側にsshパッケージが導入されている必要があります。
rpm -qa | grep ssh
などとして、調べることで導入されているか分かります。
(実行例)
[root@localhost local]# rpm -qa | grep ssh
openssh-clients-3.6.1p2-18
openssh-3.6.1p2-18
openssh-askpass-gnome-3.6.1p2-18
openssh-server-3.6.1p2-18
openssh-askpass-3.6.1p2-18
[root@localhost local]#
2ノード間をポートフォワードしたい場合、いくつか方法がありますが、下記の例は、
ローカルに設定しておき、ローカルの指定のポートにアクセスされたら、他方の指定ポートに
仲介する設定です。
ssh -C -N -f -L 1115:192.168.10.207:50001 db2inst4@192.168.10.207
-C |
転送するパケットを圧縮する |
-N |
接続後シェルプロンプトを出さない |
-f |
バックグランド実行 |
-L |
ローカル※以降の nnnn:<host name or IP >:nnnnにて指定 |
1115 |
ローカルサーバーでリスンするポート番号 |
192.168.10.207 |
リモートサーバー |
50001 |
リモートサーバー側のポート番号 |
db2inst4 |
リモートサーバー側のOSユーザー |
設定の確認は下記の様にするとコマンドラインの表示で出来ます。
ps -edf | grep ssh | grep -v grep
(実行例)
[root@localhost oracle]# ps -edf | grep ssh | grep -v grep
root 1107 1 0 Sep12 ? 00:00:00 /usr/sbin/sshd
root 32444 1107 0 17:12 ? 00:00:00 sshd: oracle [priv]
oracle 32446 32444 0 17:12 ? 00:00:00 sshd: oracle
root 406 1 0 17:26 ? 00:00:08 ssh -C -N -f -L 1115:192.168.10.207:50001 db2inst4@192.168.10.207
最終更新:2006年09月14日 18:44