ラズパイからgitにsshできなくて死ぬほどハマった

未分類

どうもみづきです。ラズパイで書いたコードをPUSHしようとしたら、
延々とパーミッションエラーになってしまい死ぬほどハマったので備忘録として残します。

結論を言うとwin向けのやり方でvi ~/.ssh/configを編集して秘密鍵へパスが通っていないのが原因でした。
コピペするときは良く考えよう(n敗)
NG

Host github.com
 HostName      github.com
 IdentityFile  IdentityFile  ~/.ssh/id_rsa ←ここがラズパイだとパスが違う
 User          git

OK(よくわからんけど動いたのでヨシ!)

Host github.com
 HostName      github.com
 IdentityFile  /home/pi/.ssh/id_rsa
 User          git

SSHするまでの手順

(1)SSHキーファイルを作る

ssh-keygen

パスフレーズいらない場合はエンター連打でOK(既にキーがある場合上書きされるので注意)
ラズパイの場合以下のファイルパスに生成されるので、確認しに行こう
/home/pi/.ssh

(2)SSH設定ファイルを追加する

vi ~/.ssh/config

Host github.com
 HostName      github.com
 IdentityFile  /home/pi/.ssh/id_rsa
 User          git

僕の場合は上記設定で接続できました

(3)GitHubに公開鍵を登録する

Build software better, together
GitHub is where people build software. More than 83 million people use GitHub to discover, fork, and contribute to over 200 million projects.

catで表示してコピペしよう(他にもっと良さげな方法あると思われます)
cat /home/pi/.ssh/id_rsa

(4)GitHubへ接続テストをする

以下のコマンドが上手く通ればOK

ssh -T git@github.com

失敗した場合以下のサイトのトラブルシュートが隙が無くて良かったです

Permission denied (publickey) の 対処方法はだいたいこれ - ORM ねこの遊び庭
GitHub 連携で Permission denied が発生する場合の対処方法です。原因はだいたいこれですね。

HTTPSでcloneしちゃった

こちらのサイトの「4. git remote originの設定変更」の方法で無事リカバーできました、めっちゃわかりやすくて助かります

最後に

Gitとかでハマるととても疲れたけど、とりあえず動いて良かった
久々にブログやったら、コマンドとかを良い感じに表示する方法忘れたのでそのうち修正します!

コメント