Github Actions で VPS に Deploy しようとしたら Host key verification failed. で ssh 接続に失敗

2024/06/11

結論

known_host の指定間違えてた…。

shimataro/ssh-key-action 使用時に known_host の指定が必須になっていて、 [Settings] – [Secrets and variables] – [Actions] で Repository secrets を追加するのだけれど、VPS上の ~/.ssh/known_hosts ファイルの中身をペーストしてたのでした…。

接続する先が VPS なので、ローカルにて

ssh-keyscan -p [ssh用ポート番号] [IPアドレス]

を実行して出てくる文字列を Repository secrets の KNOWN_HOSTS に貼り付けて接続できるようになったのでした。

 

GitHubから見たときに、自分の VPS を known_hosts として登録してやらなければならないのに、なんとなく「ターミナルでは VPS に接続できてるんだよなぁ…」と思いつつ VPS に接続し、 ~/.ssh/known_hosts を開いてコピペしてたのでした。 known_hosts には信頼してよいサーバー情報が記載されているわけで、 VPS 上の known_hosts には github.com が登録されてる状態( git での接続もできる状態でした)。

これを GitHub にそのまま持っていったら、「GitHub Actions から ssh 接続する際に信頼してよいサーバーは github.com です!」と指示しているだけなので、そりゃ上手くいかないわけです…😑