Help us understand the problem. What is going on with this article?

Gitで”Permission denied (publickey).” が出たときのメモ

SourceTreeを使ってBitbucketを利用しています。
WindowsからMacに移行したので環境を作り直し、同じようにプッシュしようとしたら

”Permission denied (publickey).” 

というエラーが出てしまったので、その対処法をメモしておきます。

前提条件

  • すでにBitbucket上にリポジトリがある
  • ローカルにもリポジトリがある(他の環境からHDDまるごとコピーしてきた等)
  • SourceTreeもインストール済み
  • 変更をプッシュしようとしたら表題のエラーが出てしまう

MacにSSH鍵の準備

手順① SSHの鍵を作成

// hoge@hoge.com の部分はBitbucketに登録しているメールアドレス
$ ssh-keygen -t rsa -C hoge@hoge.com

手順② 作成された鍵の名前を変更する

// 名前は自分でわかれば何でも構わない
$ mv id_rsa bitbucket_rsa
$ mv id_rsa.pub bitbucket_rsa.pub

手順③ OSにSSH鍵を認識させる

$ cd ~/.ssh/
$ vi config

下記内容を記述

~/.ssh/config
Host bitbucket.org
  HostName bitbucket.org
  User git
  Port 22
  IdentityFile ~/.ssh/bitbucket_rsa // 名前変更したSSH鍵
  TCPKeepAlive yes
  IdentitiesOnly yes

Bitbucketへの登録

手順④ 公開鍵の内容をクリップボードにコピー

// ファイル名は自分で変更したものを入力
$ pbcopy < bitbucket_rsa.pub

手順⑤ アカウント情報に公開鍵を追加

参考:Bitbucketアカウントに公開鍵をインストールする方法
https://confluence.atlassian.co.jp/pages/viewpage.action?pageId=35095449

  1. Bitbucketにログイン
  2. 画面右上の人型から アカウントの管理
  3. 左側の SSHキー
  4. 鍵を追加
  5. Labelに適当な名前(PC名とか)を入力し、Keyにクリップボードの内容をペースト。鍵を追加

手順⑥ ターミナルからログインの確認

$ ssh -T git@bitbucket.org

// 成功した場合
logged in as *****.
You can use git or hg to connect to Bitbucket. Shell access is disabled.

// 失敗した場合
Permission denied (publickey).

上記手順で失敗した場合は ~/.ssh/config の記述が間違えている可能性があります(他にも回線の不具合とかBitbucketが落ちてるとかもありますが)。

おわり

今回の自分のつまづきポイントは、リポジトリのconfigの記述と ~/.ssh/config の記述が違っていました。

hogehoge/.git/config
// リポジトリの記述
url = ssh://git@bitbucket.org/*****/******.git
~/.ssh/config
// OS側の設定
Host bitbucket // .orgが抜けている
  HostName bitbucket.org

とあるサイトを参考にしたらこのような記述になっていたのですが、そのサイトの人はうまくいったのでしょうか??

sygnas
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした