Bitbucket Cloud SSH ホストキーの切り替えに関する FAQ
プラットフォームについて: Cloud のみ - この記事は クラウド プラットフォームのアトラシアン製品に適用されます。
一般的な質問
質問 | レスポンス |
---|---|
個人の Bitbucket Cloud SSH キーを変更する必要がありますか? | いいえ、個人の SSH キーおよびデプロイ キーは、この変更の影響を受けません。 |
ホストキーとはなんですか? | SSH プロトコルでは各 SSH 接続において、信頼されるサーバーの同一性を確認するためにホストキーが利用されます。これには、 git pull で bitbucket.org への SSH 接続を確立する場合などが含まれます。 |
SSH で Bitbucket Cloud に接続できなくなりました。なぜですか? | Bitbucket Cloud では、2023年6月20日に予定されている古いキーの置き換えに先立ち、SSH クライアントの移行のための 2 つの新しい SSH ホストキーを2023年5月15日に導入しました。追加の詳細およびホストキー接続を安全に再確立する手順は、ブログ記事「https://bitbucket.org/blog/ssh-host-key-changes」を参照してください。 または、Git over HTTPS に切り替えることもできます。これは、リモート レポジトリ URL を更新し、https://support.atlassian.com/ja/bitbucket-cloud/docs/change-the-remote-url-to-your-repository/ そして、App Password を使って認証を設定することで可能です 。https://support.atlassian.com/ja/bitbucket-cloud/docs/using-app-passwords/ |
中間者 (MITM) 攻撃を心配する必要がありますか? 中間者攻撃を防ぐにはどうすれば良いですか? | お客様への差し迫った重大なリスクがあるとは考えられていません。クライアントで既知のホストキーを使い続けられるようにすることで、ユーザー側で新しいキーへの信頼を注意深く安全に確立させられるような時間を提供します。 このようなアプローチを行うことで、ユーザーが安全に新しいキーに移行できる時間を確保し、ユーザーの業務にできるだけ支障をきたさないようにしています。 MITM 攻撃は一般的に、ネットワークが何らかの形で侵害されることが必要となります。安全でない、信頼できないネットワーク (暗号化されていない WiFi 接続など) を避けることで、MITM 攻撃への露出を抑えることができます。 また、以下を実行することで正しいホストに接続していることを確認できます。 ssh git@bitbucket.org host_key_info 次に、フィンガー プリントが当社ブログに掲載されている更新済みフィンガー プリントのいずれかに一致することを確認します。 |
なぜ RSA ホストキーを即座に切り替えないのですか? | お客様への差し迫った重大なリスクがあるとは考えられていません。クライアントで既知のホストキーを使い続けられるようにすることで、ユーザー側で新しいキーへの信頼を注意深く安全に確立させられるような時間を提供します。 このようなアプローチを行うことで、ユーザーが安全に新しいキーに移行できる時間を確保し、ユーザーの業務にできるだけ支障をきたさないようにしています。 |
Bitbucket に接続できるようにするために、Bitbucket Pipelinesの設定変更は必要ですか? | いいえ、ご利用のビルドに提供される信頼済みのホストキーはアトラシアン側で更新します。 |
パイプラインでプライベート イメージを使用して Bitbucket にホストされているリポジトリをクローンする機能に影響はありますか? | ホストキーの厳密なチェックが有効になっているビルドで Bitbucket を使用したアクションを構成することをチームで選択している場合は、ホスト キーが更新されていることを確認する必要があります。自身またはチームが SSH ベースの操作を利用しているかどうかを確認し、それに応じて更新することを推奨します。 SSH キーの更新や設定方法の詳細については、弊社サポート ドキュメントをご参照ください。 https://support.atlassian.com/ja/bitbucket-cloud/docs/using-ssh-keys-in-bitbucket-pipelines/ |
Bitbucket にホストされているリポジトリを、ランナーを使ってプライベート環境にクローンする機能に影響はありますか? | セルフホスト型ランナーは、作成時に発行されたトークンを HTTPS プロトコルで使用するため、ホストキー変更の影響は受けません。ただし、ホストキーの厳密なチェックが有効になっているビルドで Bitbucket を使用したアクションを構成することを選択した場合、 お客様の環境に応じた手順 (https://support.atlassian.com/ja/bitbucket-cloud/docs/configure-ssh-and-two-step-verification/) に従い、ビルドを更新する必要があります。 |
RSA キーが置き変えられた後も SSH で Bitbucket に接続できるようにするためには、どうすればよいですか? | 実施する必要のあるアクションの詳細な手順は、ブログ記事をご参照ください。 ブログ記事に加えて、この FAQ を十分に確認し、SSH クライアントに適した回復/軽減手順を実行することをお勧めします。 環境と構成ごとに異なる可能性があるため、システムをどのように構成すべきかについて、当社サポート チームから個別の対応方法をご案内することはできかねます。こちらは対応分野外であり、アトラシアン サポートの対象外となります。 |
技術的な質問
1. Q: Is there an available workaround if I’m unable to fix SSH connection? What other alternatives do I have to push my code to Bitbucket Cloud?
A: You can configure your connection to Bitbucket Cloud over HTTPS if you are not able to temporarily use SSH. You will first need to create an App Password associated with your user and then update the repository remote URL to use HTTPS protocol for GIT transactions.
https://support.atlassian.com/ja/bitbucket-cloud/docs/using-app-passwords/
また、HTTPS プロトコルでの認証に Access トークンを使用することできます。
https://support.atlassian.com/ja/bitbucket-cloud/docs/access-tokens/
2. Q: How do I know what SSH client I’m currently using?
A: If you are using MacOS, open the terminal and run ssh debug by using the command below:
ssh -v git@bitbucket.org
First line after the command should give you indication what SSH client you are currently using, example OpenSSH_9.0p1. Once you know the client, please refer to our blog for more details on how to update the Bitbucket Cloud host key or change SSH client configuration to restore your connection. If you are not able to identify which SSH client you are using, please feel free to reach out to our support team and we can help you.
3. Q: How can I verify which host key my client is using?
A: You can check which host key your client is using by using our host_key_info command and then comparing the host fingerprints specified in our blog https://bitbucket.org/blog/ssh-host-key-changes.
例:
ssh git@bitbucket.org host_key_info
/Users/user-name/.ssh/config
Enter passphrase for key '/Users/user-name/.ssh/id_rsa':
You are using host key with fingerprint:
ssh-rsa SHA256:zzXQOXSRBEiUtuE8AikJYKwbHaxvSc0ojez9YXaGp1A
WARNING: The host key your client is using will be removed in the near future.
Please configure your client to trust a new host key.
See https://bitbucket.org/blog/ssh-host-key-changes for more details.
4. Q: I have integration with Bitbucket Cloud and Bamboo and my Bamboo builds stopped running
A: If your Bamboo instance is configured to use trusted keys, your administrator will need to update your configuration to trust the new ECDSA/Ed25519 host keys as described in https://confluence.atlassian.com/bamboo0901/managing-trusted-keys-1188402906.html
新しいキーを追加するには、ブログ記事を参照して公開キーを取得してください。
https://bitbucket.org/blog/ssh-host-key-changes
5. Q: I’m using OpenSSH_XX and I’m no longer able to connect to bitbucket.org, over SSH protocol, what do I need to do to get the connection restored?
A: There are multiple options as to how you can update bitbucket.org fingerprint stored on your local machine.
まず古いフィンガー プリントを削除し、安全なネットワークから Bitbucket への SSH 接続を実行して、新しいフィンガープリントを保存します。
$ ssh-keygen -R bitbucket.org && curl -L https://bitbucket.org/site/ssh >> ~/.ssh/known_hosts
Manually updating your known_hosts file stored on your machine by using an editor of your choice and updating the file with the new fingerprint.
以下のリソースを参考にしてください。
https://help.dreamhost.com/hc/en-us/articles/217239087-Updating-host-keys
これらの手順のいずれでも接続できない場合、問題はホストキーの変更とは無関係である可能性があります。
6. Q: I’m using SSH-2.0-PuTTY_* and I’m no longer able to connect to Bitbucket Cloud server, over SSH protocol, what do I need to do to restore my connection after you rotated host key?
A: If you are using PuTTY, then you will need to access the known_hosts file from the system registry.
Follow this simplified step-by-step guide in order to delete the existing fingerprint for bitbucket.org from the registry
https://www.simplified.guide/putty/edit-delete-ssh-hosts-keysOpen Git Bash and run the following command
”C:\Program Files\PuTTY\plink.exe” git@bitbucket.org
Make sure to replace the path with the path to plink.exe on your machine, if you have installed PuTTY in a different directory.
You will see a message similar to the following:
The host key is not cached for this server: bitbucket.org (port 22) You have no guarantee that the server is the computer you think it is. The server's ssh-ed25519 key fingerprint is: ssh-ed25519 255 SHA256:ybgmFkzwOSotHTHLJgHO0QN8L0xErw6vd0VhFA9m3SM If you trust this host, enter "y" to add the key to PuTTY's cache and carry on connecting. If you want to carry on connecting just once, without adding the key to the cache, enter "n". If you do not trust this host, press Return to abandon the connection. Store key in cache? (y/n, Return cancels connection, i for more info)
Before entering y, please make sure that the fingerprint you see in the message matches one of the fingerprints listed on this page, in the section SSH Host Keys:
https://support.atlassian.com/ja/bitbucket-cloud/docs/configure-ssh-and-two-step-verification/After confirming that the fingerprint in the prompt matches the new one for bitbucket.org, enter y.
The new key should now be added to the registry.
7. Q: I’m using SSH-2.0-JSCH-0.1.44 and I’m no longer able to connect to Bitbucket Cloud, over SSH protocol, what do I need to do to restore my connection after you rotated host key?
A: JSch prefers SHA_RSA and while connecting it will try to compare SHA-RSA fingerprint. Since the Bitbucket fingerprint has recently changed, you will need to update known_hosts file stored on your local machine.
Bitbucket フィンガー プリントを更新する方法には、複数の選択肢があります。
By removing the old one first and then simply running the SSH connection to Bitbucket from secure network and store the new fingerprint:
known_hostsファイルから古いキーを削除し、新しいキーを追加します
$ ssh-keygen -R bitbucket.org && curl -L https://bitbucket.org/site/ssh >> ~/.ssh/known_hosts
- Manually update your known_hosts file stored on your machine by using an editor of your choice and updating the file with the new fingerprint.
詳細は、以下を参照してください。https://stackoverflow.com/questions/2003419/com-jcraft-jsch-jschexception-unknownhostkey
8. Q: We are using SourceTree for MAC and are connecting via SSH, will I need to make changes to my known_hosts file ?
SourceTree doesn’t support RSA key rotation. If you are a new user connecting for the first time after May 16, 2023, your SSH client will use our newly introduced ECDSA and Ed25519 keys, no manual action will be required on your part.
However if you are an existing user and have been connecting to Bitbucket via SourceTree over SSH for a while, you will need to manually update your .ssh/know_hosts file and add bitbucket.org new RSA fingerprint and remove the old one on or after June 20, 2023 as described in our blog https://bitbucket.org/blog/ssh-host-key-changes .
9. Q: We are using SourceTree for Windows and are connecting via SSH, will I need to make changes to my known_hosts file ?
f you have configured SourceTree to use OpenSSH as an SSH client
(from the menu Tools > Options > tab General), you will need to manually update your .ssh/know_hosts file, add the new fingerprint and remove the old one as described
in our blog https://bitbucket.org/blog/ssh-host-key-changes
If you have configured SourceTree to use PuTTY as an SSH client (from the menu Tools > Options > tab General), then you will need to access the known_hosts file from the system registry.
Follow this simplified step-by-step guide in order to delete the existing fingerprint for bitbucket.org from the registry
https://www.simplified.guide/putty/edit-delete-ssh-hosts-keysOpen Git Bash and run the following command
"C:\Users\username\AppData\Local\SourceTree\app-3.4.12\tools\putty\plink.exe" git@bitbucket.org
Make sure to replace username with the name of your user on this comupter, and 3.4.12 with the version of SourceTree you are using.You will see a message similar to the following
The host key is not cached for this server: bitbucket.org (port 22) You have no guarantee that the server is the computer you think it is. The server's ssh-ed25519 key fingerprint is: ssh-ed25519 255 SHA256:ybgmFkzwOSotHTHLJgHO0QN8L0xErw6vd0VhFA9m3SM If you trust this host, enter "y" to add the key to PuTTY's cache and carry on connecting. If you want to carry on connecting just once, without adding the key to the cache, enter "n". If you do not trust this host, press Return to abandon the connection. Store key in cache? (y/n, Return cancels connection, i for more info)
Before entering y, please make sure that the fingerprint you see in the message matches one of the fingerprints listed in this page, in the section SSH Host Keys:
https://support.atlassian.com/ja/bitbucket-cloud/docs/configure-ssh-and-two-step-verification/
After confirming that the fingerprint in the prompt matches the new one for bitbucket.org, enter y.
The new key should now be added to the registry and you should be able to continue using SourceTree with PuTTY
10. Q: I used the instructions as per the blog and executed the following command:
$ ssh-keygen -R bitbucket.org && curl https://bitbucket.org/site/ssh >> ~/.ssh/known_hosts
The above command has successfully copied the bitbucket.org new keys to the known_hosts file. However, each time I connect to Bitbucket, I get the following warning and then need to press yes to proceed with the connection:
Warning: the ECDSA host key for 'bitbucket.org' differs from the key for the IP address '<IP Address>' Offending key for IP in ~/.ssh/known_hosts:<IP line number> Matching host key in ~/.ssh/known_hosts: <Bitbucket.org line number> Are you sure you want to continue connecting (yes/no)? yes
You may also see the error message below when typing ‘yes’ as a response to the message above.
error : stderr: No ECDSA host key is known for bitbucket.org and you have requested strict checking. Host key verification failed. fatal: Could not read from remote repository.
A: You can remove the entry associated with the IP from the known_hosts file. You can run the following command to remove the older entries and store the new one
$ ssh-keygen -R bitbucket.org && sed -i.old -e '/AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kNvEcqTKl/d' ~/.ssh/known_hosts && curl https://bitbucket.org/site/ssh >> ~/.ssh/known_hosts
Once the above command is executed, you should be able to connect to Bitbucket without any issues and the warning message will not appear again.
11. Q: I’m using port 443 instead of default port 22 to connect to bitbucket.org over SSH and run my connection via altssh.bitbucket.org to connect to Bitbucket. How do I update my known_hosts file?
A: You can fetch the altssh.bitbucket.org and add it to a known_hosts file by running the following:
ssh-keygen -R '[altssh.bitbucket.org]:443' && curl https://bitbucket.org/site/ssh | sed 's/bitbucket.org/[altssh.bitbucket.org]:443/' >> ~/.ssh/known_hosts