【Bitbucket SSH接続】The authenticity of host can't be establishedエラー
Bitbucketリポジトリのクローンでauthenticityエラー
初めてのBitbucketリポジトリのクローンでエラー・・・。
% git clone git@bitbucket.org:test/sample.git
Cloning into 'sample'...
The authenticity of host 'bitbucket.org (100.100.100.00)' can't be established.
ED25519 key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxx.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'bitbucket.org' (ED25519) to the list of known hosts.
git@bitbucket.org: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
どうやらSSHキーを設定していなかった。
macOSにOpenSSHをインストールする
Homebrewを使用してOpenSSHの新しいバージョンをインストールします。
% brew install openssh
OpenSSH が正常にインストールされたことを確認するには、次のコマンドを実行します。
% ssh -V
OpenSSH_9.8p1, LibreSSL 3.3.6
出力にはインストールされている OpenSSH のバージョンが表示されます。
SSHエージェントを起動する
SSH キーを使用できるようにするには、デバイス上で SSH エージェントが実行されている必要があるようです。
ちなみに、すでに実行されているかどうかを確認するには、psコマンドを実行します。
ssh -agent がすでに実行されている場合は、以下のように表示されます。
% ps -ax | grep ssh-agent
19998 ?? 0:00.20 /usr/bin/ssh-agent -l
エージェントを起動するには、次のコマンドを実行します。
% eval $(ssh-agent)
また、このコマンドを~/.zshrc
または同等のシェル構成ファイルに追加する必要がある場合があります。(自分の場合は不要でした)
このコマンドをシェル構成ファイルに追加すると、ターミナルを開いたときにエージェントが実行されるようです。
SSHキーペアを作成する
次に、SSH キー ペアを作成します。
1. ターミナルからホーム ディレクトリに移動
% cd ~
2. ssh-keygenを使用してSSHキーペアを生成
% ssh-keygen -t ed25519 -b 4096 -C "Bitbucket メールアドレス" -f ssh-key-name(なんでもOK)
- Bitbucket メールアドレス:Bitbucket Cloud アカウントに関連付けられたメール アドレス
- ssh-key-name:キーの出力ファイル名(今回は
bitbucket_work
に設定)
パスフレーズの入力を求められた場合は、パスワードを入力するか、パスワードを空のままにすることができます。
パスワードを入力すると、Bitbucket Cloudに接続するGit コマンド (git push、git pull、git fetch など) を使用するなど、SSH が使用されるたびにパスワードの入力を求められます。
(自分は空白にしました)
パスワードを入力すると、デバイスにアクセスできる他のユーザーがキーを使用できなくなります。
完了すると、ssh-keygen は次の2 つのファイルを出力します。
- {
ssh-key-name
} — 秘密鍵 - {
ssh-key-name
}.pub — 公開鍵
SSHエージェントにキーを追加する
以下のコマンドを実行し、ssh-key-name
を秘密鍵の名前に置き換えます。
% ssh-add ~/bitbucket_work
Identity added: /Users/name/bitbucket_work (mail@gmail.com)
Bitbucketに接続するときに正しいSSHキーが使用されるようにするには、次の設定でSSH構成ファイル ( ~/.ssh/config
) を更新 or 作成します。
Host bitbucket.org
AddKeysToAgent yes
IdentityFile ~/.ssh/bitbucket_work
Bitbucket Cloudに公開鍵を追加
最後にユーザーアカウントにSSH キーを追加します。
- 右上の歯車(設定)を選択
- ドロップダウンの
Personal settings
を選択 セキュリティ > SSH キー
を選択- キーの追加
- ラベルはわかりやすい名前でOK
Key
は公開SSHキーファイル (bitbucket_work.pub
) をテキスト エディターで開きコピペする- 鍵を追加して完了
SSH認証ができることを確認
SSHキーが正常に追加されたこと確認するには、次のコマンドを実行します。
% ssh -T git@bitbucket.org
authenticated via ssh key.
You can use git to connect to Bitbucket. Shell access is disabled
再度Cloneを試す
無事成功しました!
% git clone git@bitbucket.org:test/sample.git
Cloning into 'sample'...
remote: Enumerating objects: 38512, done.
remote: Counting objects: 100% (5557/5557), done.
remote: Compressing objects: 100% (4766/4766), done.
remote: Total 38512 (delta 4160), reused 881 (delta 685), pack-reused 32955 (from 1)
Receiving objects: 100% (38512/38512), 57.24 MiB | 7.73 MiB/s, done.
Resolving deltas: 100% (29988/29988), done.