SSH の問題のトラブルシューティング

このページの内容

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

SSH で問題が発生した場合、以下のことを試して問題のトラブルシューティングを行います。

Sourcetree を使用している場合、これらのソリューションの一部は Sourcetree でのステップに含まれます。ただし、コマンド ラインの使用が必要となる場合もあります。Sourcetree のリポジトリで右上の [ターミナル] ををクリックすると、コマンド ラインを見つけることができます。

このページの内容

エラー メッセージのトラブルシューティング

SSH 経由で認証中に次のエラー メッセージが表示されることがあります。


Permission denied (publickey)

または

No suitable response from remote

または

repository access denied

Git または Mercurial を使用して SSH 経由でクローン、プッシュ、またはプルを実行する際に SSH エージェントが提供したキーを Bitbucket で認証できなかった場合、これらのメッセージのいずれかが表示されることがあります。

このようなメッセージが表示される最も一般的な理由は以下のとおりです。

  • 接続の試行時に sudo を使用した

    ssh-agent は、ルート レベルではなくユーザー レベルで実行されるため、クローン、プッシュ、またはプルの実行時に sudo を使用しないでください

  • 公開キーが Bitbucket にロードされていない

    公開キーが Bitbucket にロードされているかどうかを確認するには、以下を実行します。

    1. Bitbucket で、左下にあるご使用のアバターから [Bitbucket の設定] を選択します。
      [アカウント設定] ページが表示されます。
    2. [SSH キー] をクリックします。
      [SSH キー] ページにすべての既存のキーが一覧表示されます。
    3. 一覧にキーが表示されない場合、「SSH キーの設定」ドキュメントに従って SSH キーを 1 つ設定します。
  • キーが SSH エージェントにロードされていない

    SSH エージェントが Bitbucket にキーを提供していない場合、接続に失敗します。システムを最近再起動している場合にこの問題が発生することがあります。

    SSH エージェントが提供しているキーを調べ、エージェントに追加する手順は次のとおりです。

    ターミナルから

    SSH キーがロードされていることを確認します。

    $ ssh-add -l

    If you don't see your key listed, add it by entering ssh-add followed by the path to the private key file:

    $ ssh-add ~/.ssh/<private_key_file>
    Sourcetree から

    Windows:

    システム トレイで Pageant (PuTTY 認証エージェント) アイコンをダブルクリックして [Pageant Ket List] ダイアログを開きます。


    SSH キーが表示されない場合は、[キーの追加] をクリックします

Could not open a connection to your authentication agent

You may see this error when trying to use the ssh-add command. Most likely your ssh-agent did not start properly. To start the agent, run the following:


macOS/Linux

$ eval `ssh-agent`
Agent pid 9700

Windows

$ eval $(ssh-agent)
Agent pid 9700

Then, continue using the ssh-add command to add your keys.


unexpected token

If your .bashrc doesn't launch correctly, you may see these types of messages:

line19: syntax error near unexpected token 'then'
line 19: ' if[ $? -eq 0 ]; then '
これらのメッセージは、ブラウザーからカット アンド ペーストを実行した時にエラーが発生したことを示しています。このエラーは、Chrome の使用時に一般的に見られます。Firefox など別のブラウザーを試してください。

Operation timed out

タイムアウトした操作がある場合は、以下のメッセージまたは類似のメッセージが表示されます。


ssh: connect to host bitbucket.org port 22: Operation timed out
fatal: The remote end hung up unexpectedly
Completed with errors, see above

タイムアウトはお使いのコンピューターが Bitbucket に到達できなかったことを示しており、おそらく、ユーザー自身のネットワークに原因があると考えられます。たとえば、ネットワーク管理者がこの接続をブロックするファイアウォール ルールを設定している可能性があります。ネットワーク管理者に連絡してこの問題を解決してください。


The authenticity of host 'bitbucket.org (104.192.143.1)' can't be established.

Because Bitbucket hosts only allow Git and Mercurial to make SSH connections, the first time you access Bitbucket using the SSH URL, your SSH client checks to see if the Bitbucket host is a known host. If the host is not in your ~/.ssh/known_hosts file, SSH warns you that it's adding the Bitbucket host to known hosts if you continue:

$ hg clone ssh://hg@bitbucket.org/newuserme/mquotefork testkey
The authenticity of host 'bitbucket.org (104.192.143.1)' can't be established.
RSA key fingerprint is 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40.
Are you sure you want to continue connecting (yes/no)?

When you see this warning, you can enter yes.


既知のホストの内容を表示すると、実際のキーが base64 エンコード形式で保存されていることがわかります。

bitbucket.org,104.192.143.1 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kNvEcqTKl/VqLat/MaB33pZy0y3rJZtnqwR2qOOvbwKZYKiEO1O6VqNEBxKvJJelCq0dTXWT5pbO2gDXC6h6QDXCaHo6pOHGPUy+YBaGQRGuSusMEASYiWunYN0vCAI8QaXnWMXNMdFP3jHAJH0eDsoiGnLPBlBp4TNm6rYI74nMzgz3B9IikW4WVK+dc8KZJZWYjAuORU3jc1c/NPskD2ASinf8v3xnfXeukU0sJ5N6m5E8VLjObPEO+mN2t/FZTMZLiFqPWc/ALSqnMnnhwrNi2rbfg/rd/IpL8Le3pSBne8+seeFVBoGqzHM9yXw==

ネットワーク内のセキュリティ プロトコルによっては、システム管理者は承認された既知のホストをまとめた一覧を保持する場合があります。Bitbucket のサーバーの公開キーのフィンガープリントについては、「SSH キー」を参照してください。


remote: No supported authentication methods left to try!

このエラーは、Windows で Sourcetree を使用して SSH による認証を実行しようとすると発生することがあります。

このエラーを修正するには、次の点を確認します。

  • Pageant が実行中で、キーがロード済みであることを確認します。
  • 対応する公開キーが使用する Bitbucket アカウントに追加されていることを確認します。

他の SSH 問題のトラブルシューティング

エラー メッセージが表示されずに次のような SSH の問題が生じる場合もあります。

Mercurial リポジトリへのプッシュに時間がかかる場合

新しい Mercurial リポジトリのプッシュに時間がかかるか、応答しない場合、Mercurial 圧縮を有効にする必要がある場合があります (有効にしていない場合)。

SSH 圧縮の有効化は推奨されますが、必須ではありません。

既定では、Git の場合、データの送信または取得時に圧縮が自動で実行されますが、Mercurial では実行されません。SSH 圧縮を有効にすると、データの送信および取得の速度が劇的に向上する場合があります。

SSH 圧縮を有効にするには、次の手順を使用します。

  1. Open the Mercurial global configuration file (~/.hgrc).
  2. 以下の行を UI セクションに追加します。

    ssh = ssh -C

    追加後のファイルは次のようになります。

    [ui]
    # Name data to appear in commits
    username = Emma <emmap1@atlassian.com>
    ssh = ssh -C
  3. ファイルを保存して閉じます。

ポート 22 がブロックされている場合

ネットワーク管理者は、ポート 22 上での SSH の外部接続をブロックすることがあります。ネットワークでこのポートがブロックされている場合、Bitbucket は、代替のホスト名とポートの組み合わせを提供します。

Instead, use altssh.bitbucket.org over port 443. Typically, port 443 is used for HTTPS, so administrators leave this port open for outbound web browsing. In this case, here's the URLs you can use:

Mercurial ssh://hg@altssh.bitbucket.org:443/<account_name>/<repo_name>/
Git ssh://git@altssh.bitbucket.org:443/<account_name>/<repo_name>/

SSH 認証のテスト

このセクションのコマンドを使用して SSH の認証に関する問題のトラブルシューティングを行います。


SSH 認証をテストするには

以下のコマンドは SSH キーについて SSH エージェントをチェックしてから、その秘密キーが既存の Bitbucket アカウントの公開キーと一致するかどうかをチェックします。


Git

Mercurial

$ ssh -T hg@bitbucket.org
エージェントにキーがロードされていない場合:
$ ssh -T hg@bitbucket.org
Permission denied (publickey).
ローカル マシンが bitbucket.orgIP アドレスを取得できない場合:
$ ssh -T hg@bitbucket.org
ssh: connect to host bitbucket.org port 22: Connection refused
接続が正常に完了した場合:
$ ssh -T hg@bitbucket.org
conq: logged in as teamsinspace.
You can use git or hg to connect to bitbucket. Shell access is disabled.



SSH 接続の問題を突き止めるには

If you receive a Permission denied (publickey) error, and you've already verified that your key is loaded into your SSH agent and into your Bitbucket account, you can get more information about your connection issues:

Git

Mercurial

$ ssh -v hg@bitbucket.org

このコマンドにより取得できる情報のタイプには以下のようなものがあります。

  • ターミナルが読み取っている SSH 構成ファイル

  • IP アドレスがローカル マシンに接続されていること

  • 認証のためにロードする SSH キー
エラーの場合の応答
$ ssh -v hg@bitbucket.org
OpenSSH_5.6p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /Users/emmap1/.ssh/config
debug1: Applying options for bitbucket.org
debug1: Reading configuration data /etc/ssh_config
debug1: Applying options for *
debug1: Connecting to bitbucket.org [172.16.10.101] port 22.
debug1: Connection established.
debug1: identity file /Users/emmap1/.ssh/emmap1 type 1
debug1: identity file /Users/emmap1/.ssh/emmap1-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.6
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 zlib@openssh.com
debug1: kex: client->server aes128-ctr hmac-md5 zlib@openssh.com
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'bitbucket.org' is known and matches the RSA host key.
debug1: Found key in /Users/emmap1/.ssh/known_hosts:2
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/emmap1/.ssh/emmap1
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).

In this run, the system offered the emmap1 public key first. It failed, so the system tried to use the default key and failed again. If the proper key fails, use the troubleshooting steps for the Permission denied (publickey) error message.

成功した場合の応答
$ ssh -v hg@bitbucket.org
OpenSSH_5.6p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /Users/manthony/.ssh/config
debug1: Applying options for bitbucket.org
debug1: Reading configuration data /etc/ssh_config
debug1: Applying options for *
debug1: Connecting to bitbucket.org [172.16.10.101] port 22.
debug1: Connection established.
debug1: identity file /Users/manthony/.ssh/manthony type 1
debug1: identity file /Users/manthony/.ssh/manthony-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.6
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 zlib@openssh.com
debug1: kex: client->server aes128-ctr hmac-md5 zlib@openssh.com
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'bitbucket.org' is known and matches the RSA host key.
debug1: Found key in /Users/manthony/.ssh/known_hosts:2
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by serverhg
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/manthony/.ssh/manthony
debug1: Remote: Forced command: conq manthony
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty allocation disabled.
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug1: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
debug1: read PEM private key done: type RSA
Identity added: /Users/manthony/.ssh/manthony (/Users/manthony/.ssh/manthony)
debug1: read PEM private key done: type RSA
Connection closed by 172.16.10.101



To check whether you're running multiple versions of the ssh-agent

Enter ps at the command line when you have at least one loaded SSH key.


$ ps
PID PPID PGID WINPID TTY UID STIME COMMAND
5192 1 5192 5192 ? 500 19:23:34 /bin/ssh-agent
5840 1 5840 5840 con 500 08:38:20 /bin/sh
6116 5840 6116 1336 con 500 08:38:22 /bin/ps

The previous response shows only one running ssh-agent:

  • /bin/ssh-agent – The running ssh-agent.
  • /bin/sh – The shell you're in.
  • /bin/ps – The process you're running.

If this response returns more than one ssh-agent, kill all versions of the agents and restart ssh-agent.

To kill each version, use the kill command and the process ID, which is 5192 in the previous example:

$ kill 5192
To restart the ssh-agent , run:
$ eval 'ssh-agent'



使用する SSH キーがロードされていることを確認するには

To list your loaded keys, enter ssh-add -l (that's the letter, not the number). This example returns two different keys:

$ ssh-add -l
2048 4c:80:61:2c:00:3f:9d:dc:08:41:2e:c0:cf:b9:17:69 /Users/manthony/.ssh/workid (RSA)
2048 7a:9c:b2:9c:8e:4e:f4:af:de:70:77:b9:52:fd:44:97 /Users/manthony/.ssh/personalid (RSA)

If you don't see the SSH key you want to use, add it by entering ssh-add followed by the path to the private key file:

$ ssh-add ~/.ssh/<private_key_file>

引き続き問題がある場合、すべての不要な SSH キーを削除します。

$ ssh-add -d ~/.ssh/<private_key_file>
Windows で Sourcetree を使用している場合

システム トレイで Pageant アイコンをダブルクリックして、Pageant の Key List ダイアログを開きます。


SSH キーが表示されない場合、[キーの追加] をクリックして追加します



To check that the ssh-agent is running

Enter ps -e  | grep [s]sh-agent to check whether it's running. If the ssh-agent is running, you'll see the following response:

$ ps -e  | grep [s]sh-agent
 9060 ??         0:00.28 /usr/bin/ssh-agent -l

エージェントが実行されていない場合、ターミナルで応答は返されません。この場合、次のコマンドを使用して、エージェントを手動で開始します。

$ ssh-agent /bin/bash
Windows で Sourcetree を使用している場合

システム トレイで、Pageant が実行されていることを確認します。

リストに含まれていない任意のキーを追加するには、[Add key] をクリックします。

最終更新日 2018 年 6 月 19 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.