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 のように、 認証完了後にシェルが起動せず、応答がない状態になっている。 具体的には ...

sshで自分のマシンに拒否られた

ssh localhost

テストを行っていて、自分の使っているマシンに接続を行ったら、見慣れぬWarningが表示されて拒否られた。
$ ssh localhost
いやいや、おかしいでしょう。
内容は以下のように出力された。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!Someone could be eavesdropping on you right now (man-in-the-middle attack)!It is also possible that a host key has just been changed.The fingerprint for the ECDSA key sent by the remote host isSHA256:なんたらかんたら.Please contact your system administrator.Add correct host key in /home/yoshimura/.ssh/known_hosts to get rid of this message.Offending ECDSA key in /home/yoshimura/.ssh/known_hosts:22  remove with:  ssh-keygen -f "/home/yoshimura/.ssh/known_hosts" -R "localhost"ECDSA host key for localhost has changed and you have requested strict checking.Host key verification failed.

うーむ、そういえば、自分のマシンに接続したのは記憶では、これまでなかった。
ただ、使用している.ssh以下の秘密鍵や設定などは、Macから持ち込んで使っていたことを思い出した。

そりゃ、fingerprintが違うと言われても、まぁ当然かな…。

Macでlocalhostへの接続テストを行った記憶があるので、その時の情報がそのままknown_hostsに記録されているはず。
今回はLinuxマシン上に移行しているので、トラブったようだ。

メッセージの通りに、knwon_hostsからkeyを削除することにする。

$ ssh-keygen -f "/home/yoshimura/.ssh/known_hosts" -R "localhost"
すると、変更したよ〜と親切にメッセージが出力された。
バックアップも作ってくれている。

# Host localhost found: line 22
/home/yoshimura/.ssh/known_hosts updated.
Original contents retained as /home/yoshimura/.ssh/known_hosts.old
そこで、再度接続を行ってみると

$ ssh localhost
The authenticity of host 'localhost (127.0.0.1)' can't be established.
ECDSA key fingerprint is SHA256:Vp9dkzpU+ftwcHwhWbL4c5MQ0oWcS8qvZ41xsZ34pTY.
Are you sure you want to continue connecting (yes/no)? yes
と、初めての接続と同様の流れになるので、yesで完了。

無事に、接続検証ができましたとさ。

見慣れぬWarningとか出ると、ちょっとびっくりするけど、よく読めば全部書いてあるので、落ち着けばOK


よく見ると、今はRSAじゃなくてECDSA使っているっぽい。
それとも、昔からだっけ?

コメント

このブログの人気の投稿

MEGAにも弱点があった?

Ubuntu24.04 でGUIが死んだ

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