ssh


UNIX 系のマシンにリモートログインするのに必須のコマンド。

windows であれば、teraterm や、putty を使えば、SSH プロトコルでリモートログインできる。もしくは、cygwin や、mingw など、UNIX 環境をエミュレーションするようなソフトをインストールして、ssh コマンドを使ってリモートログインすることができる。


まず、前準備として、ssh-keygen で 公開鍵 / 秘密鍵のペアを作る。公開鍵をを、ログインするサーバの、~/.ssh/authorized_keys に追加する。

その後、ssh -i 秘密鍵 ユーザ@ホスト で接続する。


ログインだけでなく、このコマンドが便利なのは、ポートフォワード機能。三種類の転送方法がある。-L、-R、-D の三種類。それぞれ、ローカル、リモート、ダイナミック。

ローカルは、接続元の指定のポートへの着信が、ログインしているサーバから、指定したアドレス、ポートに発信される。一例としては、ファイアウォールの外側のサーバで、例えば、DB ポートなどをフィルタしていて直接接続できない時に、ローカルホストにポート転送して使う。

リモートは、ログインしているサーバの指定のポートへの着信が、接続元のサーバから、指定のアドレス、ポートに発信される。ファイアウォールの外側のホストから、ファイアウォールの内側のホストに通信したい時に使える。

ダイナミックは、接続元の指定のポートに着信した socks による着信が、ログインしているサーバから指定のアドレス、ポートに発信される。ファイアウォールで自由に外に出られない/サーバで接続するホストを絞っている、といった場合に使える。

詳しくは、man ssh を見てください。