OSX上でGitLabからCloneする際に
git clone git@hoge.com/fuga.git
Cloning into 'fuga'...
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
となりcloneが出来なくなったので復旧までをまとめた。
結論
秘密鍵作成時にコメントにログインメールアドレスを記載して再登録するとアクセスできた。
状況
-
clone, fetchなどが上記の通りPermission deniedで出来なくなる
-
sshアクセスは正常に出来る
$ ssh -T gitlab # 「gitlab」で.ssh/configに登録している
Welcome to GitLab, (登録名)!
$
解決方法
- 鍵をもう一度作る。
- この時ログインメールアドレスをコメントに入れる
ssh-keygen -C "login@foobar.com" -t rsa
-
GitLab上に再登録
-
再度cloneしてみると成功!!
まとめ
コメント欄まで見ているのかは不明だが、「GitLab permission denied」とかで調べるとたいていの人が「ログインアドレスをコメントに入れてみたら」という書き込みが多かったので多分見ているのかもしれない。
普段BitbucketとGitHubを使っているけど、こういう事もあるという事で記録しておきます。
追記
どうやら鍵自体を読みこませればOKでした。不覚。
GithubでSSH通信した時に「Permission denied (publickey).」が発生した時の対処方法。
2. SSH秘密鍵を登録する。
ssh-addコマンドを使って、秘密鍵を登録します。パスワードが聞かれますが、SSH鍵生成時のパスワードを指定します。
$ssh-add <秘密鍵名>
Enter passphrase for <秘密鍵名>: <= パスワードを入力
Identity added: <秘密鍵名> (<秘密鍵名>)