Linuxのsshコマンドは、SSHプロトコルを用いてリモートホストに接続するコマンドです。SSHでのネットワーク通信は暗号化が行われるので、安全に通信することが可能です。
sshコマンドの使い方
sshのコマンドの構文は以下の通りです。
1 |
$ ssh [オプション] [ユーザー@]ホスト名 [コマンド] |
主なオプション
-C | データを圧縮する |
-c | 暗号方式を指定する |
-i | RSAまたはDSA認証の秘密鍵ファイルを指定する |
-l | ログインするユーザー名を指定する |
-p | 接続ポートを指定する(デフォルトは22番) |
-X | X11ポートフォワードを有効にする |
-x | X11ポートフォワードを無効にする |
リモート・ホストにログインする
ユーザー名を指定して、リモートホストにsshでログインします。
以下の2つの例は、どちらもユーザー名「user」でリモートホスト「192.168.10.1」に接続します。
1 2 3 4 5 |
# ユーザー名を「-l user」で指定する例 $ ssh -l user 192.168.10.1 # 「ユーザー@ホスト名」形式で指定する例 $ ssh user@192.168.10.1 |
秘密鍵を指定して、リモート・ホストにログインする
公開鍵認証を用いてSSH接続を行う場合、リモートホストで生成した秘密鍵をクライアント側に保存しておきます。
たとえば、リモート・ホストの秘密鍵を ~/.ssh/id_rsa に保存してある場合は「-i」オプションで指定します。
1 |
$ ssh -i ~/.ssh/id_rsa user@example.com |
このとき秘密鍵のパーミッションによってはエラーになる可能性があります。秘密鍵のパーミッションは chmod コマンドで 600 に設定する必要があります。
接続ポートを指定してリモート・ホストに接続する
ポート番号が22以外に設定されたリモート・ホストに接続するには、「-p ポート番号」の形式で指定します。
1 |
$ ssh -p 67890 user@192.168.10.1 |
リモート・ホストでコマンドを実行する
リモート・ホスト「192.168.10.1」のユーザー「user」で、lsコマンドを実行します。
1 |
$ ssh user@192.168.10.1 ls |
コマンドを実行するだけでログインはされません。