6
2

More than 3 years have passed since last update.

GitHub の Permission denied (publickey) で躓いたけど解決した時の話

Posted at

はじめに

AWSにRailsアプリをデプロイする過程で、
Gitとの連携がうまくいかなかったので、解決策をメモに残します。

接続確認

鍵登録後 SSH コマンドで GitHub に挨拶してみます。

$ ssh -T git@github.com
を実行してみて、

Hi [account_name] You've successfully authenticated, but GitHub does not provide shell access.
がかえってくれば接続 OK です。
これを目指します。

パーミッションをチェックする

今回は大丈夫でしたが
鍵のパーミッションがゆるい場合、以下のように
デカデカと警告が出るのでこちらはすぐ分かります。

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
:
:
:
こんな感じで堂々と出る。

これは鍵のパーミッションを適切に締めてあげれば OK 。

chmod を実行します。

$ chmod 600 ~/.ssh/aws_git_rsa
$ chmod 644 ~/.ssh/aws_git_rsa.pub

権限変更後、この様になっていれば OK です。

$ ls -la ~/.ssh/ | grep aws_git_rsa
-rw-------   1 username  staff  1831 May  4 07:48 aws_git_rsa
-rw-r--r--   1 username  staff   404 May  4 07:48 aws_git_rsa.pub

接続時の鍵をチェックする

v オプションを付けることで、SSH 接続のデバッグログをチェックすることができます。

$ ssh -vT git@github.com

を実行します。

すると、ズラズラとログが出てきます。

OpenSSH_7.9p1, LibreSSL 2.7.3
debug1: Reading configuration data /home/tatsuki/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 48: Applying options for *
debug1: /etc/ssh/ssh_config line 52: Applying options for *
debug1: Connecting to github.com port 22.
debug1: Connection established.
debug1: identity file /home/tatsuki/.ssh/id_rsa type -1
:

上から順によくよく覗いてみると

GitHub に登録した鍵は aws_git_rsa ですが、どうやら id_rsa が使われているようです。。。

そりゃ、認証できないはず(笑)

今回の原因

今回は SSH の設定が誤っていました。

はじめ、

$ vim ~/.ssh/config
Host github 
  Hostname github.com
  User git
  IdentityFile ~/.ssh/aws_git_rsa

というように 設定を入れていました。

ホストを github としていたため、
github.com へ接続するときにこの設定がマッチしていなかったらしい。

SSH 設定を次に修正すると、問題なく接続できました。

Host github github.com ←コイツを追加
  Hostname github.com
  User git
  IdentityFile ~/.ssh/aws_git_rsa
6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2