Linux ssh コマンド
sshこのコマンドは、SSH プロトコルを介してリモートホストに接続し、リモートログインとコマンド実行を実現します。セッション内のすべての通信を暗号化し、データ転送の安全性を確保します。
SSH(Secure Shell)は、リモートログインやその他のネットワークサービス間で使用される暗号化プロトコルです。SSH は安全な通信チャネルを提供し、データの機密性と完全性を保護します。
構文
ssh [options] [user@]hostname [command]
パラメータの説明
[user@]hostname:接続するリモートホストのユーザー名とホスト名。[command]:リモートホスト上で実行するオプションのコマンド。
よく使われるオプション
-l user:ログインするユーザーを指定します。-p port:リモートホストに接続するポート番号を指定します。デフォルトは22です。-i identity_file:認証ファイル(秘密鍵ファイル)を指定します。-v:詳細モード。デバッグ情報を表示できます。-C:圧縮を有効にします。-N:リモートコマンドを実行せず、ポート転送のみを行います。-f:バックグラウンドで実行します。-L local_port:remote_host:remote_port:ローカルポート転送。-R remote_port:local_host:local_port:リモートポート転送。-D [bind_address:]port:動的アプリケーションレベルポート転送。
例
基本的な使い方
リモートホストに接続する:
ssh user@hostname
例:
ssh [email protected]
ポートを指定して接続:
ssh -p 2222 user@hostname
例:
ssh -p 2222 [email protected]
認証ファイルを使用する:
ssh -i /path/to/private_key user@hostname例:
ssh -i ~/.ssh/id_rsa [email protected]
リモートホスト上でコマンドを実行する:
ssh user@hostname command
例:
ssh [email protected] ls -la
詳細モード:
ssh -v user@hostname
例:
ssh -v [email protected]
圧縮を有効にする:
ssh -C user@hostname
例:
ssh -C [email protected]
バックグラウンドで実行し、コマンドを実行しない:
ssh -f -N user@hostname
例:
ssh -f -N [email protected]
ポート転送
ローカルポート転送:
ssh -L local_port:remote_host:remote_port user@hostname
例:
ssh -L 8080:localhost:80 [email protected]
リモートポート転送:
ssh -R remote_port:local_host:local_port user@hostname
例:
ssh -R 8080:localhost:80 [email protected]
動的ポート転送:
ssh -D [bind_address:]port user@hostname
例:
ssh -D 1080 [email protected]
高度な使い方
設定ファイル
SSH クライアント設定ファイルは ~/.ssh/config にあり、そこによく使う設定を記述できます。
例:
Host example
HostName example.com
User john
Port 2222
IdentityFile ~/.ssh/id_rsa
使用する場合は次のようにするだけです:
ssh example
SSH エージェント転送
エージェント転送を有効にする:
ssh -A user@hostname
例:
ssh -A [email protected]
X11 転送
X11 転送を有効にする:
ssh -X user@hostname
例:
ssh -X [email protected]その他の拡張
Linux コマンド大全