tweeeetyのぶろぐ的めも

アウトプットが少なかったダメな自分をアウトプット<br>\(^o^)/

【bitbucket】git cloneで`Permission denied (publickey).`や`Bad owner or permissions`と言われたときの対処法

はじめに

タイトルまんまな記事です。
初歩的な内容ですが、bitbucketでgit cloneしたときに
Permission denied (publickey).Bad owner or permissionsと言われる場合の対処法です。

他記事のスニペット記事に目的がメイン。

Permission denied (publickey).のとき

現象
$ git clone git@bitbucket.org:team-hoge/hoge-app.git
Initialized empty Git repository in /home/hoge/hoge-app/.git/
Bad owner or permissions on /home/hoge/.ssh/config
fatal: The remote end hung up unexpectedly
原因

自分はよくありがちなのですが、ssh-keygenするときに
秘密鍵のパスを変えた場合などに起こりがちです。

sshの設定をした際に(もしくはデフォルトで)
sshする際の秘密鍵ファイル名はid_rsaを使うようになっている場合があります。

なので、秘密鍵の名前をid_rsa以外にした場合は、
bitbucketからcloneするに使う秘密鍵~/.ssh/configに登録して指定してあげます。

対処

作成した秘密鍵~/.ssh/id_rsa_bitbucket_hoge_appだったとします

# bitbucketからcloneする際の秘密鍵を指定する
$ vi ~/.ssh/config
---- vi追記 ----
Host bitbucket.org
    User          git
    HostName      bitbucket.org
    IdentityFile  ~/.ssh/id_rsa_bitbucket_hoge_app
----------------

これで大丈夫なはず。

Bad owner or permissionsのとき

現象
$ git clone git@bitbucket.org:team-hoge/hoge-app.git
Initialized empty Git repository in /home/hoge/hoge-app/.git/
Bad owner or permissions on /home/hoge/.ssh/config
fatal: The remote end hung up unexpectedly
原因

これも初歩的ですが~/.ssh/configの権限がおかしいためです。

# 確認してみる
$ ls -l ~/.ssh/config
-rw-rw-r-- 1 hoge hoge  123 Oct  7 07:05 config
対処

権限を変えてあげます。

$ git clone git@bitbucket.org:team-hoge/hoge-app.git
Initialized empty Git repository in /home/hoge/hoge-app/.git/
Bad owner or permissions on /home/hoge/.ssh/config
fatal: The remote end hung up unexpectedly

$ chmod 600 ~/.ssh/config

おわり

初歩的だけど結構ありがち!enjoy!