LinuxにおけるSSH(Secure Shell)コマンドは、リモートサーバーへ安全に接続して操作するための重要なツールです。本記事では、SSHの基本構文、各種オプション、実用的な使い方、関連ツールまでをわかりやすく解説します。初めての方から中級者まで役立つ内容を網羅しています。
SSHとは?
SSHとは「Secure Shell」の略称で、インターネットやLAN上の他のコンピュータへ暗号化された通信経路を確立し、安全にリモート操作を行うためのプロトコルです。パスワードやコマンドなどの通信内容は全て暗号化されるため、盗聴や改ざんリスクを大幅に低減できます。
SSHコマンドの基本構文
SSHコマンドは以下の構文で実行します。
ssh [オプション] [ユーザー名@]ホスト名 [実行したいコマンド]
- 例:
ssh user@hostname
- 例(リモートでコマンドのみ実行):
ssh user@hostname ls -l
- リモートのホスト名やIPアドレスを指定し、必要に応じてユーザー名を付けます.
代表的なSSHオプション一覧
SSH接続の実践例と応用テクニック
基本接続
ssh user@192.168.1.100
ユーザー名user
でIP192.168.1.100
のサーバに接続。
ポート番号変更
ssh -p 2222 user@hostname
標準以外のポートに接続する際に指定。
秘密鍵利用の接続
ssh -i ~/.ssh/id_rsa user@hostname
公開鍵認証で秘密鍵ファイルを指定。
コマンドを実行して終了
ssh user@hostname 'ls -l /var/log'
ログディレクトリのファイル一覧を取得して切断。
X11転送でGUIアプリの利用
ssh -X user@hostname
リモートマシンのGUIアプリをローカルに表示。
ポートフォワーディング例
- ローカルからリモートのWebサーバーアクセス: ローカルの8080ポートをリモートの80番に中継。
ssh -L 8080:localhost:80 user@hostname
- リモート側でポートを待ち受ける例:
ssh -R 9090:localhost:3000 user@hostname
バックグラウンド実行
ssh -f -N user@hostname
トンネル作成だけして端末制御を戻す。
SSH鍵管理と設定のポイント
- 鍵生成には
ssh-keygen
を利用。最新はED25519タイプが推奨されます。
ssh-keygen -t ed25519
Host myserver HostName example.com User user Port 2222 IdentityFile ~/.ssh/id_rsa
次回以降はssh myserver
だけで接続可能.
SSH関連コマンド
ssh-keygen
:新規鍵ペア作成ssh-copy-id
:公開鍵をサーバに一括転送scp
:リモートとファイルコピーsftp
:安全なファイル転送プロトコル
SSH接続時のセキュリティ注意点
- 初回接続時に出るホスト鍵のフィンガープリントを必ず確認。
- 不要なポートは閉じ、サーバ側でSSHのパスワード認証を無効化し公開鍵認証のみの設定推奨。
- SSHのバージョンアップ、ログ監視などの運用も重要。
まとめ
LinuxのSSHコマンドはリモート操作の基本。豊富なオプションで安全かつ柔軟に接続できます。鍵認証やポートフォワーディングなどを活用し、快適なリモート作業環境を構築しましょう。
このまとめが、SSHコマンドの理解と使いこなしに役立つことを願います。
コメント