俺には勉強しかない

140字のその先

【解決】Githubにssh接続出来るのにpushに失敗して詰まった

ローカルにインストールしたGitにGitHubのアカウント情報と認証鍵を登録して、
ローカルからGitHubリポジトリにpush出来るようにした(今更)。

これでようやく草を生やす事が出来るぞ!

GitHubを使う環境のセットアップ手順については、以下のサイトが一番分かりやすかった。

employment.en-japan.com


しかし、手順通りに進めていたら、push時にエラーが出るという問題が発生したので、
エラーの詳細と解決方法をメモしておく

事象

コマンド「git push -u origin master」実行時に以下のエラーが出て
GitHubリポジトリにプッシュ出来ない。

adsl-172-10-0-191:repository user$ git push -u origin master
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.


そして、「ssh github」は成功してる(っぽい)のに、「ssh -T git@github.com」には失敗する。

adsl-172-10-0-191:repository user$ ssh github
Enter passphrase for key '/Users/user/.ssh/id_rsa_github':
PTY allocation request failed on channel 0
Hi orphanizee! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.

dsl-172-10-0-191:repository user$ ssh -T git@github.com
git@github.com: Permission denied (publickey).

解決策

ssh-add」コマンドを実行して、作成した認証鍵を登録すれば解決した。

Syntax

ssh-add -K [認証鍵のディレクトリパス]

使用例

Adsl-172-10-0-191:repository user$ ssh-add -K ~/.ssh/id_rsa_github
Enter passphrase for /Users/user/.ssh/id_rsa_github:
Identity added: /Users/user/.ssh/id_rsa_github (xxx@gmail.com)

終わりに

GitHubのアカウントを作ってみたけど、何をすればいいのか分からない、という状態が2年近く続いてました。

今はとりあえずプライベートリポジトリを作って、

  1. 技術書のサンプルコードを書いて動かす→動いたらpush
  2. README.mdに、技術書を読んで初めて知った事のメモを書き留める

という使い方をしています。これメチャクチャ楽しいです。

ログインすれば出先からでもリポジトリ見れるので、
「あの処理ってどうやるんだっけ?」「こういう事出来る関数なかったっけ?」
って時に便利です。

ある程度技術力がついたら、OSSにプルリクエスト投げてみたい。