# 【Bitbucket SSH接続】The authenticity of host can't be establishedエラー

> The authenticity of host 'bitbucket.org (100.100.100.00)' can't be establishedエラーでBitbucketのリポジトリのクローンができない、macOSで個人用SSHキーを設定することで解決できました。

- 公開日: 2024-11-21
- 著者: Matsu
- タグ: Bitbucket
- URL: https://tech.anycloud.co.jp/articles/bitbucket-ssh

---

## **Bitbucketリポジトリのクローンで**authenticity**エラー**

初めてのBitbucketリポジトリのクローンでエラー・・・。

```shell
% 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の新しいバージョンをインストールします。

<div class="link-card-wrap"><a class="link-card" href="https://formulae.brew.sh/formula/openssh" target="_blank" rel="noopener noreferrer"><span class="link-card-body"><span class="link-card-title">openssh</span><span class="link-card-description">Homebrew’s package index</span><span class="link-card-meta"><img class="link-card-favicon" src="./linkcard-01-favicon.ico" alt=""><span class="link-card-domain">formulae.brew.sh</span></span></span><img class="link-card-image" src="./linkcard-01-image.webp" alt=""></a></div>

```shell
% brew install openssh
```

OpenSSH が正常にインストールされたことを確認するには、次のコマンドを実行します。

```shell
% ssh -V

OpenSSH_9.8p1, LibreSSL 3.3.6
```

出力にはインストールされている OpenSSH のバージョンが表示されます。

## **SSHエージェントを起動する**

SSH キーを使用できるようにするには、デバイス上で SSH エージェントが実行されている必要があるようです。

ちなみに、すでに実行されているかどうかを確認するには、psコマンドを実行します。

ssh -agent がすでに実行されている場合は、以下のように表示されます。

```shell
% ps -ax | grep ssh-agent
19998 ??         0:00.20 /usr/bin/ssh-agent -l
```

エージェントを起動するには、次のコマンドを実行します。

```shell
% eval $(ssh-agent)
```

また、このコマンドを`~/.zshrc`または同等のシェル構成ファイルに追加する必要がある場合があります。（自分の場合は不要でした）

このコマンドをシェル構成ファイルに追加すると、ターミナルを開いたときにエージェントが実行されるようです。

## **SSHキーペアを作成する**

次に、SSH キー ペアを作成します。

### 1\. ターミナルからホーム ディレクトリに移動

```shell
% cd ~
```

### 2\. ssh-keygenを使用してSSHキーペアを生成

```shell
% 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`を秘密鍵の名前に置き換えます。

```shell
% ssh-add ~/bitbucket_work

Identity added: /Users/name/bitbucket_work (mail@gmail.com)
```

Bitbucketに接続するときに正しいSSHキーが使用されるようにするには、次の設定でSSH構成ファイル ( `~/.ssh/config` ) を更新 or 作成します。

```shell
Host bitbucket.org
  AddKeysToAgent yes
  IdentityFile ~/.ssh/bitbucket_work
```

## **Bitbucket Cloudに公開鍵を追加**

最後にユーザーアカウントにSSH キーを追加します。

<figure><img src="./image-001.webp" alt="" width="2902" height="1204"></figure>

<figure><img src="./image-002.webp" alt="" width="1662" height="1124"></figure>

1.  右上の歯車（設定）を選択
2.  ドロップダウンの`Personal settings`を選択
3.  `セキュリティ > SSH キー`を選択
4.  キーの追加
5.  ラベルはわかりやすい名前でOK
6.  `Key`は公開SSHキーファイル ( `bitbucket_work.pub` ) をテキスト エディターで開きコピペする
7.  鍵を追加して完了

## **SSH認証ができることを確認**

SSHキーが正常に追加されたこと確認するには、次のコマンドを実行します。

```shell
% ssh -T git@bitbucket.org

authenticated via ssh key.
You can use git to connect to Bitbucket. Shell access is disabled
```

## 再度Cloneを試す

無事成功しました！

```shell
% 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.
```
