誰にも見えないブログ

雑なメモ。まとまってない文章等

githubとの接続に.ssh/id_rsa以外のキーを使う方法

なんとなく使いまわすのが嫌だったので新規に作成した鍵を使いたい的なモチベーションでやっててハマったのでメモ。

方法

  • 1.ssh-key-genとかで適当に鍵をつくる(今回はid_rsa_gitという名前の鍵にした)
  • 2.上記ステップで作成した公開鍵をgithubSSH keysに登録

f:id:yuyubu:20190823163800p:plain

  • .ssh/configに設定が必要
Host github.com
    User git
    Port 22
    HostName github.com
    IdentityFile ~/.ssh/id_rsa_git
    TCPKeepAlive yes
    IdentitiesOnly yes
  • 上記例では id_rsa_git を使っている
  • HOSTにgithub.comと正しくドメインを書かないとgit cloneのときなどに認証が失敗する(ハマった)
    • WEB上ではHOSTの内容にGithubなどを指定している例が多い例:https://qiita.com/0ta2/items/25c27d447378b13a1ac3
      • コレだと次のステップ4の時にssh -T git@GithubのようなURLの指定をしないと設定が正しく利用されない。
        • ホスト名を自分で自由に書き換えたい場合はこの設定でも良いが、githubのcloneのところにあるurlがデフォルトでgithub.comとなっているのでそちらに合わせたほうが良いと思う
        • 設定が聞いていないときはid_rsaなどを見に行ってしまっている(デフォルトの挙動がそうなってるらしい
debug1: Offering public key: RSA SHA256:□□□□□□□□□□□□□□□□□□□□ /home/yabushita/.ssh/id_rsa
debug1: Authentications that can continue: publickey
debug1: Authentications that can continue: publickey
debug1: Trying private key: /home/yuyabu/.ssh/id_dsa
debug1: Trying private key: /home/yuyabu/.ssh/id_ecdsa
debug1: Trying private key: /home/yuyabu/.ssh/id_ed25519
debug1: No more authentication methods to try.
git@github.com: Permission denied (publickey).

f:id:yuyubu:20190823164541p:plain
githubのページからgit cloneの内容をコピペするときにURLがgithub.comとなっているのでこれに合わせないと不便

  • 3.上記設定ファイルを作成した状態でssh -T git@github.comで接続を確認する。
  • 4.認証に失敗した場合はssh -vオプションを使ってデバッグする。
    • 想定しているキーが使われているかなど標準出力のログを見て確認する