conohaのVPS上からgitlab.comのssh key登録がPermission denied (publickey)される


ユースケース

gitlab.comからconohaサーバーの方にリポジトリをcloneしたい時.(プロジェクトのデプロイ時など)
cloneするためにサーバーの公開鍵をgitlab.comに登録して、basic認証をしなくて良くしたい時.

これでだめだった.

リモートで以下のコマンドを実行
$ssh-keygen -t rsa
$cat ~/.ssh/xxx.pub
この公開鍵をSSH KEYとして登録した後、
ssh -T [email protected]
で登録した公開鍵でgitlabにアクセスしようとした時にPermission denied (publickey)される件です.

解決策

(https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/#generating-a-new-ssh-key)
これに従う

結果

$eval "$(ssh-agent -s)"
$ssh-add ~/.ssh/xxx
注意していただきたいのが、2つめのコマンドで秘密鍵を自身のリストに登録しているところです.

そして
$ssh -T [email protected]
でwelcomeと表示されると完了です.

原因

$ssh -vT [email protected]
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

でコピーして作っちゃえばすべて解決します.