ssh接続のエラーに対応するも力尽きる
サーバへsshログインをしたく、要求して秘密鍵を受け取った。
macからのログインを試す。
ssh -i ファイル名.ppk ユーザ名@サーバ名 -p ポート番号
そうすると、下記のエラー。
Load key “ファイル名.ppk”: invalid format
フォーマットが違うと。それは、想定内。ppk形式だったから。
形式変換をする。
puttygen 変換前ファイル名.ppk -O private-openssh -o 変換後ファイル名_rsa
そうすると別のエラー。
sign_and_send_pubkey: no mutual signature supported
ユーザ名@サーバ名: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
rsaが許可されていないということか?
.ssh/config に以下を書き足す。
Host 接続先ホスト名
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
ここまでの対応で、踏み台サーバへのログインに成功する。
次に、本来接続したい、接続先への接続を試みる。
踏み台経由のscpについては、以前記事を書いた。
ssh について踏み台経由の直接アクセスは下記のはず。
ssh -o ProxyCommand=’ssh -W %h:%p -i 踏み台用の秘密鍵ファイル -p 踏み台ポート 踏み台ユーザ名@踏み台サーバ’ -i 接続先秘密鍵ファイル 接続先ユーザ名@接続先サーバ名
すると下記のエラー。
Load key “接続先秘密鍵ファイル名”: Invalid key length
キーの長さが異常だと。
OpenSSH 7.6以降では 1024bitのRSA鍵が使えなくなったとのこと。
ローカルのmacは OpenSSH 9.6 だったので、こりゃダメだ。
ssh -V
OpenSSH_9.6p1, LibreSSL 3.3.6
つまり、提供を受けた秘密鍵は、形式が違い、古く、ビット数が少ないものだったということ。
結果的には、多段の一連でのsshログインができなかった。
Windowsではできたかもしれないが、Putty、Poderosa、TeraTermどれも何かしらうまく行かない。設定が違うのか、ppkがそのままでは使えないのか未解決。
結果的には、ローカル(Mac)のOpenSSHからでは、Invalid kye lengthが解消できなかったため、一旦踏み台にログインし、踏み台では OpenSSH 6.Xだったことから、踏み台から改めて接続先サーバへsshすることで一応は解決。
気持ちの悪い結果になってしまった。