#ユースケース
gitlab.comからconohaサーバーの方にリポジトリをcloneしたい時.(プロジェクトのデプロイ時など)
cloneするためにサーバーの公開鍵をgitlab.comに登録して、basic認証をしなくて良くしたい時.
#これでだめだった.
リモートで以下のコマンドを実行
$ssh-keygen -t rsa
$cat ~/.ssh/xxx.pub
この公開鍵をSSH KEYとして登録した後、
ssh -T git@gitlab.com
で登録した公開鍵でgitlabにアクセスしようとした時にPermission denied (publickey)される件です.
#解決策
#結果
$eval "$(ssh-agent -s)"
$ssh-add ~/.ssh/xxx
注意していただきたいのが、2つめのコマンドで秘密鍵を自身のリストに登録しているところです.
そして
$ssh -T git@gitlab.com
でwelcomeと表示されると完了です.
#原因
$ssh -vT git@gitlab.com
OpenSSH_7.2p2 Ubuntu-4ubuntu2.1, OpenSSL 1.0.2g 1 Mar 2016
debug1: Reading configuration data /etc/ssh/ssh_config
:
:
debug1: Next authentication method: publickey
debug1: Trying private key: /home/user/.ssh/id_rsa
debug1: Trying private key: /home/user/.ssh/id_dsa
debug1: Trying private key: /home/user/.ssh/id_ecdsa
debug1: Trying private key: /home/user/.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey).
conohaのubuntuイメージでは~/.ssh/
フォルダ内にデフォルトでid_rsaのファイルが生成されないため、デフォルト値を読みに行ってもファイルが無いためdenyされます.
#追記
2017/2/20
$cp ~/.ssh/xxx ~/.ssh/id_rsa
でコピーして作っちゃえばすべて解決します.