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:n5ocPbCvMV4FGFofpBuJ/8r/kHGANY explicit agent

のように、認証完了後にシェルが起動せず、応答がない状態になっている。
具体的には Server accepts key: の表示後、Authentication succeeded やプロンプトが表示されずにフリーズしている。

試しにMacから接続してみると、正常に接続できる。
vpsがおかしい訳ではなさそう。

再度フローを確認してみると
  1. TCP接続: OK (Connection established)
  2. バージョンネゴシエーション: OpenSSH_10.2p1 ↔ OpenSSH_9.6p1
  3. KEXネゴシエーション: OK (sntrup761x25519-sha512@openssh.com 採用)
  4. ホスト鍵検証: OK (ED25519 一致確認)
  5. サービス要求: SSH2_MSG_SERVICE_ACCEPT received
  6. 認証方式: publickey のみ許可
  7. 公開鍵提示: RSA SHA256:n5ocPbCvMV4FGFof……………pBuJ/8r/kHGANY
  8. サーバー応答: 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を使用するよう修正。

思わぬところで、手間取りました〜。


コメント

このブログの人気の投稿

MEGAにも弱点があった?

Ubuntu24.04 でGUIが死んだ

VirtualBoxでUSBを使う方法が分かった!