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を打たなくて良くなります。
コメント