効率的なリモート管理のために知っておくべき 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_portremote_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 はすべての技術専門家が習得すべき強力なツールです。