LoginSignup
2
0

More than 5 years have passed since last update.

githubへのpushでPermission denied (publickey)

Last updated at Posted at 2018-10-14

githubへのpushでPermission denied (publickey)が出た時
検索するといろいろな情報が出てきますが
自分の場合は少し特殊なケースだったのでメモします。
※環境はcentos7.5です。

鍵に名前を付けたことが原因でした

鍵を生成する際に自分で名前を付けることができます。
(今回自分も始めてやってみました)
こうするとデフォルトで鍵が読み込まれなくなります。
「~/.ssh/id_rsa」、「~/.ssh/id_dsa」、「~/.ssh/identity」
これらの名前以外ではデフォルトで読み込まれなくなります。

エラー

結果として以下のエラーが出ます。


Permission denied (publickey)

対応方法

以下のファイルを作成します

~/.ssh/config

Host github github.com
  HostName github.com
  IdentityFile ~/.ssh/id_git_example_rsa #ここに自分の鍵のファイル名
  User git

自分の場合はこの方法で接続できるようになりました。

当初検索して出てきた結果

パーミッションの確認

.ssh # 格納ディレクトリは700
┗id_git_rsa # 秘密鍵は600
このように設定していないかを確認します。
こちらも原因になることがあります。

ssh-agent

ssh-agentというのはlinuxのデーモン(裏側で動いているプログラム)らしい。
こちらの方法でも今回のエラーは解消できた。

sshagent.shell
eval "$(ssh-agent)" #デーモン起動
ssh-add ~/.ssh/id_git_example_rsa #鍵を登録する
ssh-add -l #登録された鍵を確認

当初このコマンドを起動時に実行する方法を思いつき
bashrc bash_profileなどに登録しようと考えていましたが
おそらくconfigファイルを生成したほうがOSの負荷が少ない感じがします。

参考ページ

gitHubでssh接続する手順~公開鍵・秘密鍵の生成から~
こちらのページが見つからなかったら
違う方法で対処していたかもしれません。
非常にわかりやすくまとめてくださっていました。感謝です。

2
0
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
2
0