SSHで接続できない
Ubuntuを24.04→26.04
時間があったので、メインマシンのUpgradeを実施。
とはいえ、とはいえ、システムディスク(/)とデータディスク(/home)を分けているのでクリーンなインストールを実施。
(1) USBでUbuntu26.04を起動
(2) /home/user → /home/user_old にリネーム
(3) 26.04をインストール
これで、/home/user_oldにこれまでの環境が残ったまま、新規userでインストールすれば完了。もともとのuserが使用していたuser_id:1000のままなので、どちらのフォルダも見ることができる。
あとは、使用するソフトをインストールし
/home/user_old 以下から、利用する設定ファイル等をコピーして動作確認するだけ。
- Dropbox
- MEGA
などは、先にコピーしてから、フォルダ同期設定をすることで、ダウンロードなどはチェックのみで完了する。
- thunderbird
- brave browser
- vscode
- dbeaver-ce
- typora
- obsidian
- LMStudio
- ollama
あたりを移行してほぼ終了
.sshはそのままコピーして完了。
と思っていたら、何故かサーバによっては接続できない場合があることに気づいた。
$ ssh vps
何も返ってこず、接続できない。
でこれまで接続できていたのに、うまく行かない??
詳細を確認しながら、チェックすることに。
$ ssh -vv vps
debug1: OpenSSH_10.2p1 Ubuntu-2ubuntu3.5, OpenSSL 3.5.5 27 Jan 2026
debug1: Reading configuration data /home/user/.ssh/config
︙
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: /home/user/.ssh/id_rsa RSA SHA256:n5ocPbCvMV4FGFof……………pBuJ/8r/kHGANY explicit agent
のように、認証完了後にシェルが起動せず、応答がない状態になっている。
具体的には Server accepts key: の表示後、Authentication succeeded やプロンプトが表示されずにフリーズしている。
試しにMacから接続してみると、正常に接続できる。
vpsがおかしい訳ではなさそう。
再度フローを確認してみると
- TCP接続: OK (Connection established)
- バージョンネゴシエーション: OpenSSH_10.2p1 ↔ OpenSSH_9.6p1
- KEXネゴシエーション: OK (sntrup761x25519-sha512@openssh.com 採用)
- ホスト鍵検証: OK (ED25519 一致確認)
- サービス要求: SSH2_MSG_SERVICE_ACCEPT received
- 認証方式: publickey のみ許可
- 公開鍵提示: RSA SHA256:n5ocPbCvMV4FGFof……………pBuJ/8r/kHGANY
- サーバー応答: Server accepts key (ここで停止)
認証は成功しているっぽいが、その後の処理(シェル初期化・PAM認証・コマンド実行)で問題が発生している感じ。
同じ処理を正常に接続できるMacと比較してみる。
異なるのはバージョンくらいだ。
- Mac→OpenSSH_10.2p1, LibreSSL 3.3.6
- Ubuntu→OpenSSH_10.2p1 ,OpenSSL 3.5.5
手動でオプションを色々と付け加えて動作確認するが、どうもうまく行かない。
$ ssh -o PubkeyAcceptedKeyTypes=rsa-sha2-256,rsa-sha2-512 vps
$ ssh -o MACs=hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com vps
$ ssh -o HostKeyAlgorithms=ssh-ed25519 vps
$ ssh -o PubkeyAcceptedKeyTypes=rsa-sha2-256,rsa-sha2-512 \
-o MACs=hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com \
vps
ログを見ても、特に何も残っていない…。
1つだけ、何となく引っかかるのが、古いid_rsaを使用していること。
そこで、id_ed25519で鍵を作り直し、macからid_25519.pubをvpsに登録。
これだけで、正常に接続できるようになった!!
OpenSSL 3.5.5 + OpenSSH 10.2p1 Ubuntu-2ubuntu3.5 の組み合わせで、RSA鍵の署名検証処理に問題がありそう。
ED25519では正常に動作しているので、RSAアルゴリズムを使用した場合の問題っぽい。
ということで、.ssh/config に若干の変更を行い、うまく行かないサーバに関しては、ed25519を使用するよう修正。
思わぬところで、手間取りました〜。
コメント
コメントを投稿
励みになりますので、簡単で良いので一言くださいませ。