みなさんこんにちは、祈織です。
MacにLinuxのVM環境を作成した際に、MacのターミナルからでもSSH接続でVM上のUbuntuの操作が可能ということを知り、接続を試みました。
接続にあたり、エラーが発生して詰まってしまった為その際の対応も備忘録としてまとめます。
環境
- MacBook Air M3
- Ubuntu24.04.4 LTS(UTM)
- 接続方法:SSH
状況
- UbuntuServerのIP アドレスがわかっている
- SSHクライアント(sshコマンド)が利用可能
やりたかったこと
MacのターミナルからUTM上のUbuntuにSSH接続する為、以下コマンドを実行。
ssh user@192.168.64.4(例)
IPアドレスはダミーを記載しています。
初回接続時の注意点
初回の場合のみ「やりたかったこと」のコマンドを実行すると、以下のようなメッセージが出力。
The authenticity of host '192.168.64.4 (192.168.64.4 )' can't be established.
ED25519 key fingerprint is SHA256:1ASomCHK8p+DaYPlBdqRJF8wjoen70g/NXXRKKtlA/o.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
要約
この接続先は信頼して問題ないか?、「サーバの指紋(公開鍵)」を保存しても良いかと聞かれている
→なりすまし防止の為
対処
以下を入力しEnter。その後接続したいユーザIDのパスワードを要求される。
yes
発生したエラー
再度「やりたかったこと」のコマンド を実行後、以下のメッセージが出力
Warning: Permanently added '192.168.64.4 ' (ED25519) to the list of known hosts.
Connection closed by 192.168.64.4 port 22
要約
SSHサーバには到達しているが、接続直後に切断されている状態
→ポートは開いている為ネットワークの問題ではなく、認証設定に問題がある可能性が高い。
対処①状況確認
Ubuntu側ターミナルで以下コマンドを実行し、設定内容を確認。
sudo cat /etc/ssh/sshd_config
確認した主な項目は以下の通り
- PasswordAuthentication
- PermitRootLogin
- AllowUsers
注目ポイント
PasswordAuthentication
今回の環境では、以下のように表示されていた。
PasswordAuthentication. depending on your PAM configuration
なぜこれが問題か
この記述は「PAM(認証モジュール)の設定に依存する」という意味であり、
パスワード認証が明示的に有効になっている状態ではない。
そのため、SSH接続自体は成功しても認証段階で拒否され、接続が切断されてしまう。
対処②修正
Ubuntuのターミナル上でconfigファイルの編集。
sudo nano /etc/ssh/sshd_config
以下文言を追記
PasswordAuthentication yes
保存後、UbuntuのSSHサービスを再起動。
sudo systemctl restart ssh
再度MacのターミナルからSSH接続を試みたところ、問題なくログインできることを確認。
まとめ
SSH接続は「接続できるか(ネットワーク)」と「ログインできるか(認証)」が別であることを理解できた。
今回のようにポートが開いていても、認証設定によっては接続後に切断されるケースがあるため、エラー時は段階的に切り分けることが重要だと学びました。
本記事はUTM上のUbuntuで検証していますが、EC2やRHELなどのLinuxサーバでも同様の事象が発生する可能性があります。