Git-ftpにおける”curl: (60) SSL peer certificate or SSH remote key was not OK”というエラー
2度解消する羽目になったので、手順をメモ。
原因
SSL証明書の検証に失敗しているか、SSHのリモートキーが一致しないこと
エラー文で検索しても英語の記事しかヒットせず、原因と解消方法は結局Chat-GPTに聞いた。
解消方法
SSHのリモートキーを確認する
SSH接続を使用している場合、サーバーのSSHキーが変更されたか、初めて接続するサーバーである可能性があります。SSHキーの変更や不一致が原因であれば、サーバーのSSHキーを~/.ssh/known_hostsファイルに追加することで解決できます。
- サーバーにSSHで手動接続を試みます。
- 接続時に表示されるサーバーのSSHキーを確認し、信頼できるものであることを確認します。
- キーを受け入れると、自動的に~/.ssh/known_hostsに追加されます。
とのこと。初歩的なところではあるが、非エンジニアにはちと難しい……ので実際にどのコマンドを使用すれば良いのかも聞いた。
1. サーバーにSSHで接続を試みる
サーバーにSSHで接続を試みるには、次のコマンドを使用します。ここで、ユーザー名とサーバーのアドレスを適切なものに置き換えてください。
ssh ユーザー名@サーバーのアドレス
例えば、ユーザー名がhomepageで、サーバーのアドレスが211.133.244.108の場合、コマンドは以下のようになります。
ssh homepage@211.133.244.108
2. SSHキーの確認と受け入れ
初めてサーバーに接続する場合、またはサーバーのSSHキーが変更された場合、次のようなメッセージが表示されます。
The authenticity of host 'サーバーのアドレス (IPアドレス)' can't be established.
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
このメッセージが表示されたら、yesと入力して接続を続行します。これにより、サーバーのSSHキーが~/.ssh/known_hostsに追加され、今後の接続でキーの確認がスキップされます。
これらのステップにより、SSHのリモートキーが~/.ssh/known_hostsに正しく追加され、git-ftpでの接続時に「SSH remote key was not OK」というエラーが解消されるはずです。
解消できた
無事に仕事用のPCからgit-ftpを用いてsftp接続し、サーバーにファイルをUPすることができた。
教訓
- エラーの解消はどんな些細なことでも何かしらに解消手順のメモを残しておく(ググれば出てくるだろうからまぁいっか★はダメ、ゼッタイ)
- 英語の記事しかヒットしないのであれば自力で頑張るよりChat-GPTに聞いた方が早い