コンテンツへスキップ

【Git/Bitbucket】アプリパスワード廃止に伴うエラー(410)の解消と、永続的な「SSHキー認証」への移行手順まとめ

Bitbucketでこれまで広く使われていた「アプリパスワード(App Password)」ですが、方針変更に伴い段階的に廃止が進められています。これにより、ある日突然Gitのプッシュやプルができなくなるトラブルが各所で発生しています。

この記事では、発生するエラーの原因と、より安全で今後の変更に振り回されない「SSHキー認証」への移行手順を、初心者にも分かりやすく解説します。

🛑 発生している問題と原因

Git操作(git pushgit pull など)をした際に、突然以下のようなエラーが発生して接続が遮断されることがあります。

Bash

remote: CHANGE-3222 - Functionality has been deprecated
remote: App passwords are deprecated and must be replaced with API tokens.
remote: https://developer.atlassian.com/cloud/bitbucket/changelog#CHANGE-3222
fatal: unable to access 'https://bitbucket.org/username/repository.git/': 
The requested URL returned error: 410

原因:アプリパスワードの廃止

Bitbucketの仕様変更により、従来のHTTPS+アプリパスワード方式が廃止されました(ステータスコード 410 Gone は「そのURL/機能は恒久的に削除された」ことを意味します)。

この仕様変更はアカウントごとに段階的にロールアウト(適用)されているため、昨日まで動いていたのに今日突然動かなくなるといった事象が発生します。

公式は「APIトークン」への移行を案内していますが、毎回トークンの管理をするよりも、これを機により安全で永続的に使える「SSHキー認証」へ移行するのがおすすめです。

🛠️ 解決策:SSHキー認証への移行手順(全5ステップ)

HTTPS方式から、パスワード入力が不要になるSSHキー認証へ切り替える手順です。

1. SSHキーの生成

まずはローカル環境(自身のPC)のターミナルで、暗号化強度の高い ed25519 形式のSSHキーを作成します。

Bash

ssh-keygen -t ed25519 -C "your-email@example.com"
  • ファイルの保存場所: 何も入力せずそのまま Enter(デフォルトの ~/.ssh/id_ed25519 に保存されます)。

  • パスフレーズ: 不要であれば、何も入力せず Enter を2回押します。

2. 公開キーの確認とコピー

生成されたキーのうち、Bitbucketに登録するための「公開キー(.pub)」の中身を確認します。

Bash

cat ~/.ssh/id_ed25519.pub

画面に出力された内容を1行丸ごとコピーします。以下は出力サンプルのイメージです。

Plaintext

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIExamplePublicKeyStringDoNotUseThisKey12345 user@example.com

⚠️ 重要: 最初の ssh-ed25519 から、末尾のメールアドレス(コメント部分)まで、必ずすべてを含めてコピーしてください。メールアドレスは、後から複数のキーを管理する際の識別マークとして役立ちます。

3. Bitbucketへの登録

コピーした公開キーをBitbucket側に登録します。

1.設定画面を開く:Bitbucket Web。

Bitbucketにログインし、画面右上のアイコンから [Personal settings] (個人設定)[SSH keys] の順に選択します。

2.キーの追加:Add key。

[Add key] ボタンをクリックします。

3.情報の入力と保存:貼り付け。

Label欄に分かりやすい名前(例: workstationMacBook-Pro など)を入力し、Key欄に手順2でコピーした公開キーをそのまま貼り付けて保存します。

 

4. リモートURLの変更

現在ローカルにあるリポジトリの接続先を、HTTPSからSSH用のURLに変更します。

💡 注意: 下記コマンド内の usernamerepository.git の部分は、ご自身のBitbucketのアカウント名(ユーザー名)とリポジトリ名に置き換えて実行してください。

Bash

# 現在の「HTTPSリポジトリURL」を「SSHリポジトリURL」に変更
git remote set-url origin git@bitbucket.org:username/repository.git
 
# 正しく変更されたか確認
git remote -v

出力結果が git@bitbucket.org:... から始まっていれば変更完了です。

5. 接続テスト

実際に通信ができるか、プルを試してみましょう。

Bash

git pull origin branch-name

初回接続時のみ、以下のように接続を継続するか確認を求められます。

Bash

Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'bitbucket.org' (ECDSA) to the list of known hosts.

yes と入力して Enter を押します。無事にプルが成功すれば、すべての移行作業は完了です!

❓ よくある問題と対処法

Q. error: Your local changes to the following files... と出てプルできない

  • 原因: ローカルで編集中のファイルと、リモート(Bitbucket上)のファイルで衝突が起きる可能性があるためです。

  • 対処法: 変更を一度コミット(git commit)するか、退避(git stash)させてから再度プルを行ってください。もしローカルの変更が完全に不要な場合は、git checkout .(または git reset --hard)で破棄することも可能です。

Q. 複数のBitbucketアカウントを使い分けたい

  • 原因: アカウントごとに異なるSSHキーを設定する必要があります。

  • 対処法: SSHのコンフィグファイル(~/.ssh/config)を作成・編集し、Host ごとに利用する秘密鍵(IdentityFile)を明示的に指定するように設定してください。

💡 まとめ

  • Bitbucketのアプリパスワード廃止は段階的に強制適用されています。エラー410が出たら移行のサインです。

  • SSHキー認証に一度切り替えてしまえば、有効期限やパスワード変更に悩まされることなく、永続的かつ安全に利用できるようになります。

  • 面倒なパスワード入力の手間も省けるため、開発の利便性もグッと向上します。まだ対応していない方は早めの移行をおすすめします!

最後までお読みいただき、心より感謝申し上げます。

大河原潤

大河原 潤

AI開発専門家

ブーム以前からAI研究に携わる、本物の専門家。「AIに使われる」のではなく、「AIを使いこなす」確かな技術力を提供します。

【アカデミックな裏付け】

  • カリフォルニア大学リバーサイド校 博士前期課程修了(研究分野:測度論、経路積分)
  • アメリカ数学会のジャーナルに論文発表

【社会的に認められた専門性】

  • AI関連書籍:『誤解だらけの人工知能』(2018年)、『AI×Web3の未来』(2023年)
  • プログラミング専門書:実務的な技術書を2冊出版(確かな実装力の証明)
  • 100社以上のAI導入コンサルティング実績、特許売却経験あり

より具体的な開発事例や実装の詳細は、下記ページでご紹介しております。