SSH リモート接続ガイド

このページでは、Linux Mint に SSH サーバー(OpenSSH)を導入し、 教室の PC からサーバーへリモート接続できるようにする手順をまとめています。 サーバーが別室にある環境でも、SSH を使えば安全に操作できます。

最終更新:

1. SSH とは

SSH(Secure Shell)は、ネットワーク越しに Linux サーバーへ安全に接続するための仕組みです。 教室の PC から別室のサーバーを操作したい場合、SSH が最も一般的で安全な方法です。

2. OpenSSH のインストール

Linux Mint に SSH サーバー(OpenSSH)をインストールします。

sudo apt update
sudo apt install openssh-server

インストール後、SSH サービスは自動的に起動します。

3. SSH サービスの起動と確認

SSH の状態を確認します。

systemctl status ssh

active (running) と表示されていれば正常です。

停止している場合は次で起動できます。

sudo systemctl start ssh

4. 教室 PC からの接続方法

教室の Windows PC からサーバーへ接続するには、PowerShell を使います。

ssh ユーザー名@サーバーのIPアドレス

例:

ssh student01@192.168.1.25

初回接続時は「接続を続行しますか?」と聞かれるので yes と入力します。

初回接続時の警告メッセージについて

SSH を初めて使うと、次のようなメッセージが表示されます。

The authenticity of host '192.168.1.200' can't be established.
ED25519 key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
→ これはエラーではなく、SSH が「このサーバーに初めて接続するけど大丈夫?」と確認しているだけです。

yes と入力すると接続が続行され、サーバーの鍵情報が PC に登録されます。 次回以降はこのメッセージは表示されません。

4.5 SSH 接続を終了する方法

SSH でサーバーにログインした後、作業が終わったら安全に接続を終了する必要があります。 終了方法はとても簡単で、次のいずれかを実行します。

● 方法1:exit と入力する(最も一般的)

exit
→ サーバーからログアウトし、SSH 接続が終了します。

● 方法2:Ctrl + D を押す

キーボードの Ctrl + D は「ログアウト」のショートカットです。

→ exit と同じ動作で、サーバーからログアウトできます。

● 方法3:PowerShell(またはターミナル)を閉じる

ウィンドウを閉じても SSH 接続は切れますが、 処理中のコマンドがある場合は exit の方が安全です。

5. パスワード変更とセキュリティ

初回ログイン後はパスワードを変更しておくと安全です。

passwd

また、必要に応じて SSH の設定ファイルを編集できます。

sudo nano /etc/ssh/sshd_config

6. 接続できないときのチェックポイント

  • サーバーの IP アドレスは正しいか
  • SSH サービスが起動しているか
  • ファイアウォールで SSH(22番)が許可されているか
  • LAN ケーブルが抜けていないか

UFW(ファイアウォール)のポート開放

Linux Mint では、UFW(Uncomplicated Firewall)が有効になっている場合、 SSH のポート(22番)がブロックされて接続できないことがあります。

まず、UFW の状態を確認します。

sudo ufw status
→ UFW が active(有効)か inactive(無効)かを確認します。

● active(有効)の場合

SSH を許可します。

sudo ufw allow 22
sudo ufw reload
→ SSH(22番ポート)を許可し、設定を反映します。

● inactive(無効)の場合

ファイアウォールは動作していないため、設定は不要です。

● ポート番号を変更している場合

sshd_config でポート番号を変更している場合は、その番号を許可します。

sudo ufw allow 2222
→ 変更した SSH ポートを許可します。

SSH がすぐ切断される場合(known_hosts 登録後に切断される)

次のようなメッセージが出て接続が切れることがあります。

Warning: Permanently added '192.168.1.200' (ED25519) to the list of known hosts.
Connection closed by 192.168.1.200 port 22
→ サーバーには接続できていますが、認証前に Mint 側が接続を切断している状態です。

● ホームディレクトリのパーミッションが不正

Linux Mint では、ユーザー作成時にホームディレクトリの権限が 750(drwxr-x---) になることがあります。

ls -ld /home/ユーザー名
drwxr-x--- ... /home/ユーザー名
→ 一見正しく見えますが、SSH はこの権限を「危険」と判断し、接続を認証前に切断します。

SSH が許容するホームディレクトリの権限は 700 または 755 です。

● 解決方法(どちらでも可)

一般的には 755 が推奨されます。

chmod 755 /home/ユーザー名

より厳密にしたい場合は 700 でも構いません。

chmod 700 /home/ユーザー名
→ これで SSH がホームディレクトリを安全と判断し、接続が切断されなくなります。

SSH 設定ファイルの制限(AllowUsers / PasswordAuthentication / PubkeyAuthentication)

sshd_config に以下の設定があると、条件に合わないユーザーは認証前に切断されます。

AllowUsers
PasswordAuthentication no
PubkeyAuthentication yes

● AllowUsers がある場合

指定されたユーザー以外はすべて接続拒否になります。

AllowUsers student01 student02
→ この場合、miyada ユーザーは絶対にログインできません。

解決方法:

AllowUsers student01 student02 miyada

またはコメントアウト:

#AllowUsers

● PasswordAuthentication no の場合

パスワードログインが禁止され、鍵認証のみになります。

PasswordAuthentication no
→ 鍵を設定していないユーザーは即切断されます。

パスワードログインを許可するには:

PasswordAuthentication yes

● PubkeyAuthentication yes の場合

鍵認証を有効にする設定です。単体では問題ありません。

しかし PasswordAuthentication no と組み合わさると:

→ 鍵が無いユーザーはログインできず、即切断されます。

両方許可する例:

PasswordAuthentication yes
PubkeyAuthentication yes

● 設定変更後は SSH を再起動

sudo systemctl restart ssh
→ 設定を変更しても再起動しないと反映されません。

7. まとめ

SSH を使うことで、教室の PC から別室のサーバーを安全に操作できます。 Web サーバーやメールサーバーの管理作業も、すべてリモートで行えるようになります。