はじめに
GitHubでpushする際に求められるパスワードの入力の手間を省くため
SSHを設定してみたはいいもの、どうしても下記のようなテキストが表示され
認証されない場合のリセット方法です。
$ ssh -T github.com
github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
これでは毎度http通信でGitHubにアクセスしなければならず、パスワード入力が非常に面倒です。
以下に簡単ですがリセットの手順を説明します
手順
- Githubの公開鍵を削除
- /.sshディレクトリの中身を削除
- 新たに公開鍵・秘密鍵を作成
- GitHubに新しい公開鍵を登録
- 接続テスト
1. 公開鍵の削除
- GitHubの設定画面で公開鍵を削除
https://github.com/settings/keys
2. /.sshディレクトリの中身を削除
-
ターミナルで鍵が格納されているディレクトリを削除する
$ rm -rf ~/.ssh //削除
これでssh認証に必要な秘密鍵と公開鍵のファイルが削除できました
3. 新たに公開鍵・秘密鍵を作成
- 参考記事(基本的にはこれ通りにすれば問題ないかと)
https://qiita.com/ucan-lab/items/e02f2d3a35f266631f24#_reference-7cbea668d512073f0df4 - GitHubの鍵を作成
$ ssh-keygen -t ed25519 -N "" -f ~/.ssh/github
これで公開鍵が作成されました。鍵があるか確認しましょう
$ cd ~/.ssh
$ ls
config github github.pub known_hosts
github
が秘密鍵で
github.pub
が公開鍵になります
- viでconfigに追記する(vi使い方知らない人は下記参考にしてみてください)
https://eng-entrance.com/linux-command-vi
$ vi ~/.ssh/config
下記をconfig
に記述してください
Host github.com
IdentityFile ~/.ssh/github
User git
入力が終わったら、下記のコマンドで保存・終了
:wq
4. GitHubに新しい公開鍵を登録
-
新しく生成した公開鍵をGitHubに登録
https://github.com/settings/keys -
Macユーザーはpbcopyコマンドが便利です
https://qiita.com/mktakuya/items/c57a12b5b072a658acd0
$ pbcopy < ~/.ssh/github.pub
5.接続テスト
- 最後に接続テストをして終わりです
$ ssh -T github.com
下記のメッセージが出れば成功です!
Hi [Username]! You've successfully authenticated, but GitHub does not provide shell access.
終わりに
本記事が少しでも皆さんの参考になればと思います