□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 [email protected]
		| -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 [email protected]
最終更新:2006年09月14日 18:44