サイトは一部アフィリエイトを含みます。

bitbucketにプッシュできなくなってテンパったことの顛末[解決済]

※2018年に書かれた記事です。情報が古くなっている可能性があります。

ぼっちバージョン管理といったら「bitbucket」ですが、ある日、急にpushができなくなりました。

急にパスワードを求められる。

ん?
おまえ、そんなことしたっけ?

パスワードを入力すると、ログインできねぇよと言われる。ナニコレ???

あれーなんかしたっけなぁ、と思い返すと、思い当たるフシしかない。
そういえば1週間くらい前、SSH(公開鍵認証)をよく知りもしないのに、ゴチャゴチャいじっていたら、その途中で息子(11ヶ月)が泣き散らしたり、台風24号がきたりして、テンパって記憶が飛んでいる。

(ヤベェ完全になんかしとる)

スポンサーリンク

bitbucketにプッシュできない……解決の道のり

とりあえず、深呼吸して「公開鍵認証」について復習。

そのあと、bitbucketで、パスワード求められる系エラーでググったらこれが出てきた。

参考bitbucketへのpush時に毎回パスワード入力しなくて済むようにする(ページ削除されてました。)

鍵の設定したのにパスワードを求められるのは、http通信をしているからだそう。
わかるような、わからなんような。

とりあえず、解説通りに確認。

$ git remote -v

たしかにhttpsの通信になっている。そうか、鍵を設定したら、ここを切り替える必要があるのか。
説明の続きを読むと、SSHでいけるように、リモートポジトリのアドレスを設定変更する操作がでてきたのでその通りに行う。

$ git remote set-url origin git@bitbucket.org:[id or team-id]/[repository-name].git

bitbucketのID名と、リポジトリの名前入れりゃいいのね。

よしOK。
プッシュしてみる。

fatal: Could not read from remote repository.(←エラー)

なんでよ。

なんか別の悪いことしてたのかなぁと、エラー文で検索。

これにいきあたる。

するとここにいいことが書かれているのを発見。

bitbucketにも鍵認証の設定箇所が2種類あるらしい

  1. ユーザー認証用の鍵設定(ログイン的なやつ)
  2. リポジトリ認証用の鍵設定(リポジトリの権限的なやつ)

多分、おまえの設定、これがごっちゃになってるぜ、とのこと。

オーライオーライ。
さては天才ですね、回答者さん。

たしかに、そんな2種類あるなんてこと知らず、光に集まる昆虫がごとし、「鍵」って目についたところに公開鍵セットしたわ。

bitbucketのサイトにいって確認。
ユーザー認証したいはずなのに、全然関係ないリポジトリのところに鍵をセットしていた。

というわけで鍵の位置も修正。

OK!
プッシュしてみる。

fatal: Could not read from remote repository.

なんでよ。

ダメだよ。
これテンパるパターンだよ。

その後、「source tree」がジェネレートしたsshのconfigがいけないとか(そういえばこないだ知り合いから「source tree」をすすめられて導入した)、SSHなるものをよくわからずに使っている人のための手引書(ページ削除されてました)とかをさまよいながら、どんどん混迷を深めていって1時間。

気づいた。

最初の「リモートポジトリのアドレス設定」を間違えていた。

git remote set-url origin git@bitbucket.org:[id or team-id]/[repository-name].git

これ。

これのgit@以降の部分。

git@bitbucket.org:[id or team-id]/[repository-name].git

これのカッコの部分。

[id or team-id]/[repository-name]

たとえば、ユーザーIDが「user」で、リポジトリ名が「repository」だったら、

git remote set-url origin git@bitbucket.org:user/repository.git

こうが正解。

しかし私はこう書いていた↓

git remote set-url origin git@bitbucket.org:[user]/[repository].git

ちがいわかります?

カッコ(”[ ]”)つけたまま書いてました。

そのせいで「リポジトリのアドレスちげぇよ」って言われてたんだ……。

くそー普段からカッコつけてるのが裏目に出た。(ダジャレだよ。)

カッコつけなくしたら、解決した

というわけで、カッコを外したらプッシュできました。

カッコつけなくてよかったんですね。
うんうん、よかったです。

今回は2つ同時に違ったんで余計にややこしかったんですね。

  • 鍵の設定場所が違った
  • リモートリポジトリの設定が違った

その上、カッコでミスってたので、カオスだったわけです。

小一時間大変な目にあいました。
本当、私の脳みそ昆虫で大変だわ。

bitbucketのSSHについてはこちらに書かれています。

ご参考までに。

閉じる