効率的なリモート管理のために知っておくべき SSH コマンド
セキュア シェル (SSH) は、リモート サーバーに安全にアクセスして管理するために不可欠なツールです。システム管理者、開発者、技術愛好家のいずれであっても、SSH コマンドを習得するとワークフローが大幅に改善されます。この記事では、すべてのユーザーが知っておくべき必須の SSH コマンドについて説明します。
SSHとは何ですか?
SSH (Secure Shell) は、ユーザーが安全でないネットワークを介してリモート コンピューターに安全に接続できるようにするプロトコルです。暗号化された通信とさまざまな認証方法を提供するため、リモート管理の基本的なツールとなります。
必須の SSH コマンド
1. リモートサーバーへの接続
リモート サーバーに接続するための基本的な構文は次のとおりです。
ssh ユーザー名@ホスト名
username
をリモート ユーザー アカウントに置き換え、hostname
をサーバーのアドレス (IP またはドメイン) に置き換えます。
2. ポートの指定
SSH サーバーがデフォルトの 22 以外のポートをリッスンする場合は、-p
オプションを使用して指定できます。
ssh -p ポート番号 ユーザー名@ホスト名
3. SCP でファイルをコピーする
セキュア コピー プロトコル (SCP) は、ローカル ホストとリモート ホスト間でファイルを安全に転送するために使用されます。ローカル マシンからリモート サーバーにファイルをコピーするための基本的な構文は次のとおりです。
scp local_file ユーザー名@ホスト名:/remote/directory/
リモート サーバーからローカル マシンにファイルをコピーするには:
scp ユーザー名@ホスト名:/remote/file local_directory/
4. リモートコマンドの実行
対話的にログインせずにリモート サーバー上でコマンドを実行できます。
ssh ユーザー名@ホスト名 'command'
たとえば、リモート サーバーのディスク使用量を確認するには、次のようにします。
ssh ユーザー名@ホスト名 'df -h'
5. 認証にSSHキーを使用する
SSH キーを使用すると、パスワードを使用するよりも安全にリモート サーバーにログインできます。次のコマンドでキー ペアを生成します。
sshキー生成
次に、公開キーをリモート サーバーにコピーします。
ssh-copy-id ユーザー名@ホスト名
6. SSH によるトンネリング
SSH トンネリングを使用すると、ローカル マシンとリモート サーバーの間に安全な接続を作成し、リモート ネットワーク上のサービスにアクセスできるようになります。たとえば、ローカル ポートをリモート ポートに転送するには、次のようにします。
ssh -L ローカルポート:リモートホスト:リモートポート ユーザー名@ホスト名
このコマンドは、SSH 接続を介して、マシン上の local_port
を remote_host
上の remote_port
に転送します。
7. SSH 設定ファイル
SSH 設定ファイルを使用すると、頻繁に使用される SSH 接続オプションを保存できます。通常、このファイルは ~/.ssh/config
にあります。サンプルの設定エントリは次のようになります。
Host alias
HostName hostname
User username
Port port_number
IdentityFile ~/.ssh/id_rsa
設定後、エイリアスを使用して接続できます。
ssh エイリアス
8. バックグラウンド SSH セッション
-f
オプションを使用すると、SSH セッションをバックグラウンドで実行できます。これは、バックグラウンド プロセスを実行する場合に便利です。
ssh -f ユーザー名@ホスト名 'command'
バックグラウンドでコマンドを実行するには:
ssh -f ユーザー名@ホスト名 'command &'
9. SSHバージョンの確認
システムにインストールされている SSH バージョンを確認するには:
ssh -V
10. SSHセッションの終了
SSH セッションからログアウトするには、次のように入力します。
出口
結論
これらの重要な SSH コマンドを知っておくと、リモート サーバーを効率的かつ安全に管理する能力が大幅に向上します。ファイルの転送、コマンドの実行、安全なトンネルの設定など、SSH はすべての技術専門家が習得すべき強力なツールです。