見出し画像

BitbucketのSSHキー関連の変更への対応方法@2023年6月

どうも~!おひさしぶりです!


何についての話?

今年2023年の6月ぐらいだったと思いますけど、Atlassianからメールが来てて、古いSSHキー使えなくなりますっていう話でした。

仕事では、VPNとかの関係で、HTTPSじゃないと仕事できないっていう事情があったので、特に影響なかったんですけど、私用で使ってるBitbucketのほは、2段階認証にしたくて、それで、それだとSSHじゃないといけなくて、元々、SSH使ってたのもあり、私用ではSSHだったんですよね。

で、6月になって、仕様が変わって、実際に古い鍵が使えなくなったんです。でも、私は、他に色々、やることがあり、ちらっと見てみたものの、何がどう変わったのかよく分からなくて、放置していたのですが、盆休みということで、ちゃんと考えました。という話です。

復旧方法

要するに、鍵を再生して、登録し直すってことです。で、今まで、どう鍵を生成してたかというと、これです。

ssh-keygen -t rsa -C "your_email@example.com"

これをやって、Enterを3回やるっていう感じです。

で、今後はどう生成するか?っていうと、いくつかバリエーションがあるようで、ここに書いてますけど、

ssh-keygen -t ed25519 -b 256
ssh-keygen -t ecdsa -b 256
ssh-keygen -t rsa -b 2048
ssh-keygen -t dsa -b 1024

っていう感じらしくて、要するに、「-b」っていう、バイト数かな?のオプションを付けなさいって話で、私だとRSAでやってたんで、こうなりますね、と。。

ssh-keygen -t rsa -C "your_email@example.com" -b 2048

で、これで、再生してて、「~/.ssh」フォルダに配置して、BitBucketの画面でも、id_rsa.pubの中身を貼り付けて登録します。

で、これで、Git Bashでgit fetchすると、なんか警告出ますけど、一応、完了します。

しかし、SourceTreeでfetchすると、こんなメッセージが出て完了しません。

git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks fetch --no-tags origin
WARNING - POTENTIAL SECURITY BREACH!
The host key does not match the one PuTTY has cached
for this server:
bitbucket.org (port 22)
This means that either the server administrator has
changed the host key, or you have actually connected
to another computer pretending to be the server.
The new rsa2 key fingerprint is:
ssh-rsa 3072 SHA256:HOGEHOGEHOGEHOGEHOGEHOGEHOGEHOGEHOGEHOGEHOG
If you were expecting this change and trust the new key,
enter "y" to update PuTTY's cache and continue connecting.
If you want to carry on connecting but without updating

ぶっちゃけ、よく分かってないです。

こっちのページに書いてる人居ますけど、

面倒なので、読んでません。

要は、Putty含めて、SoucreTreeを全部入れ替えりゃいいんでしょ?とざっくり捉えました。

そこで、SourceTree 3.4.11が入ってたのを最新のSourceTree 3.4.14にすることにしました。

まず、SourceTree 3.4.11をアンインストールしました。

それから、このへんのフォルダの中身をきれいさっぱりカラにしました。どう影響するかははっきり分かってませんが、ここに何かいつも残ってるっていう理解はあるんで。。

C:\Users\user\AppData\Roaming\Atlassian
C:\Users\user\AppData\Local\Atlassian

で、その上で、SourceTree 3.4.14をインストールして、

パソコンに残ってるリポジトリを [ファイル]-[開く] で開いて、

で、fetchしたところ、無事、正常に完了しました。

ということで、この話終わりになります。

またね~☆

この記事が気に入ったらサポートをしてみませんか?