githubでSSHキーを登録したはずなのにしたのにPermission denied (publickey)と表示される・・・ 大学生エンジニア 開発備忘録#2

close up photo of programming of codes開発備忘録
Photo by luis gomes on Pexels.com

githubでSSHキーを登録したはずなのに・・・

githubにssh接続をするためには鍵の登録が必要なため、作成し、一度は接続に成功したものの、パソコンを再起動するとなぜかError: Permission denied (publickey)と表示されてしまう・・・

一時的な解決策

一応sshキーを作成した時のように、ターミナルで以下のコマンドを打てばまた接続することができます。

ssh-add -K ~/.ssh/<作成したキー 例えば,id_rsa>

しかしこれではまた再起動するたびにこのコマンドを打たないと同じエラーがでてしまいます・・・

解決策

 keychain に秘密鍵登録を登録することで、再起動してもsshキーを再度登録する必要がなくなります。

いくつか方法はありますが、今回はKeychain の登録自動化する方法を紹介します。(configファイルで設定する方法もありますがなぜか自分はうまくいきませんでした。)

macを起動する際に、~/下のzprofileが実行されるそうなので、このファイルにコマンドを登録します。

まず、~/下にzprofileがあるかどうかを確認してみます。隠しファイルなので以下のコマンドで~/以下のファイルを確認します。

sudo ls ~/.zprofile

これで隠しファイルも表示されるはずです。もし、zprofileが存在しなければ以下のコマンドで作成しましょう。

touch ~/.zprofile

次に、このファイルに以下のコマンドを登録します。

echo 'ssh-add --apple-use-keychain ~/.ssh/{登録した鍵の名前} >> ~/.zprofile

その後に、ファイルを再読み込みしましょう。

source ~/.zprofile

これでIdentity addedと表示されれば登録が完了したことになります。

最後に

これでようやく毎回ssh-addを打たなくて良くなります。

コメント

タイトルとURLをコピーしました