Skip to main content

リモートログイン

サーバの運用・管理をリモートで行うためには次の方法があります。

  • ターミナルエミュレータと呼ばれる種類のソフトウェアを使用します。TeraTermやコマンドプロンプトで動作するsshコマンドなどを使用できます。
  • LinuxでGUIを使うときはVNCと呼ばれる種類のソフトウェアを使用します。Windows Serverはリモートデスクトップ機能で接続できます。
  • リモート接続専用のソフトウェアもあります。無償では、Chrome Remote Desktop などが有名です。

今回は、TeraTerm 5を使用します。講師の指示に従ってインストールしてください。

SSHのパスワード認証によるログイン

TeraTermを使ってSSH(Secure Shell)でログインします。SSH を使うと通信は暗号化されます。 SSH はコマンドの入力だけでなくファイルのコピーも行えますが、ファイルの送受信はSCP(Secure CoPy)機能を実装したソフトウェア(例 WinsSCPなど)を使うと便利です。 SSH はTCPのポート番号22を使用します。AlmaLinux 9の GUI 版は、標準でSSHを通過させるファイアウォール設定が行われています。

sudo firewall-cmd --list-all

servicessshが含まれていることを確認します。

public (active)
target: default
icmp-block-inversion: no
interfaces: enp0s3 enp0s8
sources:
services: cockpit dhcpv6-client ssh # SSHが有効

Linuxで動作している sshd(SSH Daemon)に接続します。sshdが動作していることを確認します。

sudo systemctl status sshd

Activeactive (running)になっていることを確認します。

● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; preset: enabled)
Active: active (running) since Mon 2025-10-27 16:38:10 JST; 17h ago
Docs: man:sshd(8)
man:sshd_config(5)
Main PID: 1081 (sshd)
Tasks: 1 (limit: 10807)
Memory: 2.3M
CPU: 171ms
CGroup: /system.slice/sshd.service
└─1081 "sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups"

TeraTerm 5を起動して、「ホスト」に接続先のIPアドレスを入力します。「サービス」は「SSH」、「TCPポート」は「22」です。

接続先

最初に接続したときに「セキュリティ警告」が表示されます。「このホストを known hosts リストに追加する」にチェックをつけて「続行」をクリックします。

セキュリティ警告

Linux に登録されているユーザー名とパスワードを入力します。

パスワード認証画面

公開鍵認証

パスワード認証は通信経路が暗号化されていますが、サーバーにパスワードが送信されます。なりすましのサーバや、不適切な管理者が管理しているサーバーは危険です。

パスワードを使わない方法として公開鍵認証があります。あらかじめ秘密鍵(Private Key)と公開鍵(Public Key)を作成します。公開鍵をサーバーに登録しておきます。クライアントがサーバに接続すると、クライアントの秘密鍵で署名されたデータを公開鍵で検証します。

tip

Webのシステムは秘密鍵をWebサーバーが、公開鍵をクライアント(ブラウザ)が所有していました。SSHの公開鍵認証はSSHサーバが公開鍵を、SSHクライアント(TeraTerm)が秘密鍵を所有します。

  1. TeraTerm 5の「設定」-「SSH鍵生成...」をクリックします。

  2. 「鍵の種類」はED25519を選択します。「生成」をクリックします。

    鍵生成

  3. 「鍵のパスフレーズ」を入力します。パスフレーズは秘密鍵を使用するときに入力する情報です。

    パスフレーズの設定

  4. 「公開鍵の保存」をクリックして適当な場所に保存します。

  5. 「秘密鍵の保存」をクリックして適当な場所に保存します。

    danger

    秘密鍵は他人に知られてはいけません。

    ファイル名を変更していないときは、公開鍵が「id_ed25519.pub」で、秘密鍵は「id_ed25519」です。

    公開鍵と秘密鍵の保存

  6. 公開鍵をサーバーに転送します。TeraTerm 5で接続します。TeraTerm 5公開鍵をドロップします。

  7. ファイルは「SCP」で転送されます。OKをクリックします。公開鍵がホームディレクトリに転送されます。

    TeraTermで公開鍵をアップロード

  8. 公開鍵を.ssh/authorized_keysファイルに保存します。

    mkdir ~/.ssh # .sshディレクトリを作成
    chmod 700 .ssh/ # 所有者だけアクセス可能
    cat id_ed25519.pub >> .ssh/authorized_keys # 公開鍵の内容をコピー
    chmod 600 .ssh/authorized_keys # 公開鍵のファイルは所有者だけアクセス可能
  9. sshd の設定ファイルを変更します。

    sudo vi /etc/ssh/sshd_config
    PubkeyAuthentication yes # 公開鍵認証の有効化
    AuthorizedKeysFile .ssh/authorized_keys # 公開鍵のファイル名
    PasswordAuthentication yes # パスワード認証を許可(最初は yes にしておくと確認しやすい)
  10. sshd を再起動します。

    sudo systemctl restart sshd
  11. 新しいTeraTerm 5を起動してログインします。「ユーザー名」は Linux に登録しているユーザー名、「パスフレーズ」は秘密鍵に設定した情報、「認証方式」は「RSA/DSA/ECDSA/ED25519鍵を使う」を選択します。秘密鍵に保存した秘密鍵(今回はid_ed25519)を選択してOKをクリックします。

    公開鍵認証でログイン

    公開鍵認証が行われてログインできます。

  12. 公開鍵認証でログインできることが確認できたので、パスワード認証を無効化します。

    sudo vi /etc/ssh/sshd_config
    PasswordAuthentication no # パスワード認証を無効
    PermitRootLogin no # rootログインを禁止(任意)
  13. sshdを再起動します。

    sudo systemctl restart sshd
  14. 公開鍵を使わずにパスワード認証でログインしようとすると、エラーになることを確認してください.