client_global_hostkeys_prove_confirm: server gave bad signature for RSA key 0: incorrect signature

2023年6月27日

しばらく前から ssh 接続するときに,このエラーがでる。

とりあえず,解決方法はこちらを参照。

https://www.nslabs.jp/ramble-index.rhtml

~/.ssh/config にて,対象のホストに次の行を追加する。

Host target.host
  UpdateHostKeys no

これでエラーはでなくなった。
しかしこのエラーはそもそも何か。

調べてみると,そもエラーではないらしい。

The message “client_global_hostkeys_private_confirm: server gave bad signature for RSA key 0” is not an error, it is a warning, and it is related to some ssh versioning issue. It used to be very common to receive from GitLab.

https://stackoverflow.com/questions/67401049/pulling-from-git-fails-and-gives-me-following-error-client-global-hostkeys-priv

そして,使っている ssh のバージョンによるそうな。

ローカルの ssh は brew でインストールしている。

% ssh -V
OpenSSH_9.3p1, OpenSSL 1.1.1u 30 May 2023

リモートの ssh のバージョンを調べたところ,結構古い。

$ ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017

5年前か。
どうやら,ここが問題のように思われる。

リモート側の ssh のバージョンは,私からいじれないので,この問題は config を修正して,警告なしに接続できるようになったということで解決とします。

SSH 鍵の生成

あと,最近(いつ頃か?)は,ssh の鍵生成に rsa を用いないらしい。

パフォーマンスや安全度を考慮すると、楕円曲線暗号の Ed25519 アルゴリズム (-t ed25519)、あるいは、ECDSA アルゴリズム (-t ecdsa) を使用しておくのがよさそうです(2022 年現在)。 可能であれば、ECDSA よりも高速な Ed25519 を使うのがよいです。

https://maku.blog/p/ftducs9/

そうなのか。というわけで,ssh-keygen のオプションは -t ed25519 にするのが良いようだ。

% ssh-keygen -t ed25519

今後,気を付ける点のひとつ。


 カテゴリ一覧

 雑談(171)
アニメ(19)/ゲーム(12)/ドラマ(3)/パソコン(36)/小説(3)/広島東洋カープ(16)/映画(11)/漫画(33)/音楽(61)
 製作記(89)
AI(4)/CakePHP(3)/CentOS(4)/JavaScript(JS)(9)/Nuxt.js(4)/Vue.js(18)/WordPress(23)/料理(10)