GitHub用のknown_hostsを生成
はじめに
GitHub ActionsからSSHで別のGitHubリポジトリにデプロイしようとした. 以下のGitHub Actionを利用して,GitHubリポジトリのSecretからSSH秘密鍵をGitHub ActionsのRunnerへ配置する.
shimataro/ssh-key-action: GitHub Action that installs SSH key to .ssh
このとき,CI(GitHub Actions)でデプロイするにあたり,SSHサーバの公開鍵が必要になった. 一般にターミナルからSSHする際は known_hosts に保存されている. この記事ではコマンドを使ってSSHサーバの公開鍵を取り出す.
環境
$ uname -a
Darwin xxx.local 22.3.0 Darwin Kernel Version 22.3.0: Thu Jan 5 20:49:43 PST 2023; root:xnu-8792.81.2~2/RELEASE_ARM64_T8103 arm64
$ ssh -V
OpenSSH_9.0p1, LibreSSL 3.3.6
手順
以下のコマンドを実行する.
ssh-keyscan -t ed25519 github.com
以下の結果が得られた.
## github.com:22 SSH-2.0-babeld-171cdc72
github.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl
ファイルに書き出す場合はリダイレクトすればよい.
ssh-keyscan -t ed25519 github.com >> known_hosts