【無料ツールで作るセキュアな環境(50)】〜OpenSSH 10〜(執筆:office) | ScanNetSecurity
2024.03.29(金)

【無料ツールで作るセキュアな環境(50)】〜OpenSSH 10〜(執筆:office)

 今回はOpenSSHの利用方法の中でも、非常に有用なポート転送(port fowarding)について解説する。通信経路が安全でないネットワークを通じて様々なネットワーク通信する場合にも、ポート転送によって安全なSSH通信で保護することができる。

特集 特集
 今回はOpenSSHの利用方法の中でも、非常に有用なポート転送(port fowarding)について解説する。通信経路が安全でないネットワークを通じて様々なネットワーク通信する場合にも、ポート転送によって安全なSSH通信で保護することができる。

 ポート転送はSSHプロトコルの暗号通信経路を予め用意しておき、その経路の中を通して一般のネットワーク通信をさせるというイメージを持ってもらうとよいだろう。SSHの接続の方向と一般のネットワーク通信の接続の方向との関係で2通りのポート転送のやり方がある。

 1つ目のポート転送の方法は、SSHの接続元(ローカルホスト)と接続先(リモートホスト)と同じ向きに一般の通信の接続要求がある場合、つまりローカルホスト側(のネットワーク)に一般用ネットワークソフトのクライアントがあり、リモートホスト側(のネットワーク)に何らかのネットワークサーバがある場合である。

 この場合sshでの接続の際には、一般のSSHプロトコルの接続に必要な情報以外に、一般用通信のためのローカルホストの接続用ポート番号(localport)、リモート側の最終接続先ホスト(endhost)、リモート側の最終接続先ポート番号(endport)の情報を与えてやらなければならない。この場合のsshでの接続コマンドは、
ssh [-1] [-v] [-C] [-f] [-N] [-g] -L localport:endhost:endport [UserID@]hostname

という形になる。-L オプションでローカルホストからリモートホスト方向へのポート転送を指定している。-1 の部分の数字はSSHプロトコルの指定、-v オプションはデバッグモード、-C オプションが圧縮転送、-f オプションはSSHによる接続確立後のバックグラウンド移行であり、これまで説明してきた場合と同様である。

 簡単な例として、sshクライアントを動かしているローカルホスト(sshclient.local.com)からリモートホスト(sshd.office.ac)側のネットワーク内にあるserverd.office.acというホストにtelnet接続できるよう、ローカルホストのポート10000を開けておく場合は、
$ ssh -1 -L 10000:serverd.office.ac:23 sshd.office.ac

というコマンドを用いればよい。

 endhostであるserverd.office.acはSSH接続のリモートホストであるsshd.office.acから見てのホスト名なので、この例の場合のendhost指定はネットワーク名のoffice.acを省略可能である。もしendhostとして localhost と指定した場合は、(sshクライアントの動いているローカルホストではなく、)sshdの動いているリモートホスト自身のことになるので注意して欲しい。

 このポート転送を利用してローカルホスト上のtelnetクライアントからserverd.office.acに接続したい場合は、
$ telnet localhost 10000

office
office@ukky.net
http://www.office.ac/

(詳しくはScan本誌をご覧ください)
http://www.vagabond.co.jp/vv/m-sc.htm

《ScanNetSecurity》

Scan PREMIUM 会員限定記事

もっと見る

Scan PREMIUM 会員限定記事特集をもっと見る

カテゴリ別新着記事

「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」
「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」

ページ右上「ユーザー登録」から会員登録すれば会員限定記事を閲覧できます。毎週月曜の朝、先週一週間のセキュリティ動向を総括しふりかえるメルマガをお届け。(写真:ScanNetSecurity 名誉編集長 りく)

×