Ubuntu 24.04 で SSH サービスをインストールして使用する方法
この簡単なチュートリアルでは、Ubuntu 24.04 でセキュア シェル (SSH) サービスを有効にしてセットアップする方法を示します。これにより、コマンド コンソールでリモートにログインし、ファイルを安全に転送できるようになります。
Debian と Ubuntu は、OpenSSH (OpenBSD Secure Shell) を使用して、リモートのクライアントからサーバー上で変更、データ転送、その他の操作を実行するためのセキュア シェル チャネルを提供します。
SSH サービスはデフォルトでは有効になっていません。そして、ここでは、Ubuntu 24.04 でそれを有効にして構成する方法を説明します。
ステップ 1: OpenSSH サーバーをインストールする
まず Ubuntu サーバーに接続するか、Ctrl+Alt+T
を押して Ubuntu デスクトップ上でターミナル ウィンドウを開きます。
ターミナルが開いたら、コマンドを実行してシステム パッケージ キャッシュを更新します。
sudo apt update
次に、次のコマンドを使用して SSH サーバーをインストールします。
sudo apt install ssh
選択として、同じことを行う sudo apt install openssh-server
コマンドを使用することもできます。
ステップ 2: リスニングポート、認証などを構成する
Ubuntu 22.10 以降、OpenSSH はデフォルトで systemd ソケット アクティベーションを使用するように構成されています。これは、着信接続が受信されるまで ssh サービスが開始されないことを意味します。
これにより、少なくとも 3MiB のメモリを節約でき、VM または LXD コンテナーで複数の Ubuntu インスタンスを実行する場合に役立ちます。
この変更により、/etc/ssh/sshd_config
内の Port
や ListenAddress
などの変更が機能しなくなります。ユーザーは、代わりに /etc/systemd/system/ssh.socket.d
の下にある設定ファイルを編集するか、ソケットがアクティブ化されない以前の動作に戻す必要がありました。
Ubuntu 24.04 では、ユーザーは再び /etc/ssh/sshd_config
ファイルを編集して SSH を構成できるようになりました。唯一の変更点は、 変更を適用するために ssh.service ではなくソケットを再起動することです。
そして、ファイルを編集するには、次のコマンドを実行します。
sudo nano /etc/ssh/sshd_config
ファイルが開いたら、有効にする行の先頭にある「#」を削除し、必要に応じて値を変更します。例えば:
ポート 12345
を、デフォルトの 22 ではなくポート 12345 でリッスンするように設定します。- 複数の使用可能な場合は、リスニング IP アドレス
ListenAddress 172.67.181.180
を設定します。デフォルトでは、すべてのサーバー IP アドレスが SSH 接続に許可されます。 LoginGraceTime 30
– パスワードを待機するタイムアウトを 30 秒に設定します。PermitRootLogin no
– root ログインを無効にします。MaxAuthTries 3
– 最大認証失敗数。PasswordAuthentication no
– パスワードによるログインを無効にします。この場合、キーベースの認証を有効にする必要があります。
詳細については、公式 SSH ドキュメントを参照してください。
ステップ 3: SSH サーバー構成の変更を適用する
変更を加えた後、Ctrl+S を押して保存し、Ctrl+X を押して nano コマンド ライン テキスト エディターを終了します。
次に、前述したように、変更を適用する代わりにソケットを再起動します。
sudo systemctl daemon-reload
sudo systemctl restart ssh.socket
私の場合は、ポート番号を 12345 に変更します。これは、systemctl status ssh.socket
コマンドを実行することで確認できます。
ステップ 4: ファイアウォールでリスニング ポートを開く
SSH ポートを変更してファイアウォールを有効にした場合 (ファイアウォールは Ubuntu デスクトップではデフォルトで有効になっていません)、コマンドを実行して新しいポートを許可します。
sudo ufw allow 12345
番号 12345 をあなたの番号に変更します。次に、次のコマンドを実行して確認します。
sudo ufw status verbose
ステップ 5: SSH を使用してリモートログインまたはデータ転送を行う
最後に、ssh コマンドを実行して削除サーバーに接続できます。例えば:
ssh [email -p 22345
コマンド内:
ji
は、ログインしようとしているリモート サーバーのユーザー名です。あなたのものと交換してください。192.168.0.107
はリモート サーバーの IP アドレスです。それをあなたのものと交換してください。-p 22345
はポートを指定します。番号を変更するか、デフォルトのポート 22 が使用されている場合はスキップします。
ローカルからリモート SSH サーバーにファイルをアップロードするには、次のようなコマンドを使用します。
scp -P 22345 ~/Downloads/librivox.zip [email :~/Documents
この場合、librivox.zip
ファイルがローカルのダウンロード フォルダーからリモート サーバーのドキュメント フォルダーに ji
用にアップロードされます。
リモートからファイルをダウンロードするには、たとえば次のコマンドを実行します。
scp -P 22345 [email :~/Documents/librivox.zip ~/Downloads
リモート ji のドキュメント フォルダからローカルのダウンロード フォルダに librivox.zip
ファイルがダウンロードされます。
SSH コマンドの使用方法の詳細については、公式ドキュメントを参照してください。