web-dev-qa-db-ja.com

.sshフォルダーからknown_hostsファイルを削除しましたが、BitBucketリポジトリをプルまたはプッシュできません

間違えて「.ssh」フォルダの「known_hosts」ファイルを削除しました!現在、BitBucketリポジトリをプルまたはプッシュすることはできません。

どうすれば解決できますか?

12
xpto

実行してみてください:

ssh -T [email protected]

それはあなたに次のようなメッセージを与えるでしょう:

The authenticity of Host 'bitbucket.org (207.223.240.181)' 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)? yes

ホストのフィンガープリントを確認した後、yesと言います(最後に詳細を参照してください)。

次に、この警告が表示されますが、無視しても問題ありません。

Warning: Permanently added 'bitbucket.org,207.223.240.181' (RSA) to the list of known hosts.
conq: logged in as tuxdude.

You can use git or hg to connect to Bitbucket. Shell access is disabled.

git pullまたはgit Pushをもう一度実行してみてください。今回は、動作するはずです。

注:SSH認証の秘密鍵である.ssh/id_rsaファイルがまだ安全にあると思います。

ホストフィンガープリントの確認

@Pascal_dherが指摘したように、ホストのフィンガープリントを検証しないと(信頼できる帯域外アプローチを使用して)、man-in-the-middle攻撃の犠牲になる可能性があります。 bitbucketの場合、情報は ここで入手可能 です。

14
Tuxdude

"using ssh with BitBucket" page から、次にsshを使用すると、そのknown_hostsファイルが再作成されます。

Bitbucketホストは、GitとMercurialのみがSSH接続を確立できるようにします。
SSH URLを使用して初めてBitbucketにアクセスするとき、SSHクライアントはBitbucketホストが既知のホストであるかどうかを確認します。ホストが~/.ssh/known_hostsファイルにない場合、SSHはBitbucketホストを既知のホストに追加していることを警告します。

$ hg clone ssh://[email protected]/newuserme/mquotefork testkey
The authenticity of Host 'bitbucket.org (207.223.240.182)' 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)? 

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

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

したがって、単にsshアドレス(または単にsshコマンド)を使用するだけで、そのメッセージを再度トリガーできます。

3
VonC