11

すべてをどのように設定する必要があるかを知るために、Web 上の一連のブログ トレイルをたどったところ、次のような状況になりました。

まずssh -T git@bitbucket.org、次の結果を返します

conq: myuser としてログインしました。
git または hg を使用して Bitbucket に接続できます。シェル アクセスは無効です。

つまり、ssh キーをローカルと bitbucket の両方で適切にセットアップしたということですか?

次の内容の~/.ssh/configがあります。

ホスト bitbucket.org
 IdentityFile ~/.ssh/id_rsa

その鍵はもちろんそこにあります。

ただし、コマンド(別のチュートリアルから取得)を試すと、次のgit push origin masterようなポップアップが表示されます。

---------------------------
PuTTY 致命的エラー
---------------------------
切断: サポートされている認証方法がありません (サーバーが送信: publickey)
---------------------------
わかった   

4

4 に答える 4

20

エラーPuTTY Fatal Errorから判断すると、Git は PuTTY を使用して ssh で認証しようとしているようです。問題は、PuTTY が での設定をまったく認識していないことです~/.ssh。の設定は、Git Bash に同梱されている~/.sshを使用する場合にのみ意味があります。環境変数を にopenssh設定したかのように見えます。これは、PuTTY の一部であるツールです。GIT_SSHplink.exe

2 つの選択肢があります。PuTTYplink.exeを ssh 操作に使用するかopenssh、Git Bash の一部である を使用できます。

PuTTY を使用する場合は、ssh キーを で管理する必要がありますpageant.exe。これも PuTTY の一部です。かなりいいツールです。実行すると、タスク トレイにアイコンが表示されます。そのアイコンを右クリックして、秘密鍵を追加します。PuTTY を使用するためのもう 1 つのステップは設定GIT_SSHですが、既に設定済みのようです。このセットアップでは、PuTTY の一部であるgit pushを使用plink.exeして、 によって保存された秘密鍵を正しく検出しますpageant.ext

opensshGit Bash の一部であるを使用する場合は、GIT_SSH設定を削除するだけです。使用時に設定が本当に空であることを確認する 1 つの方法git pushは、次のようにコマンドを実行する場合です。

GIT_SSH= git push origin master
于 2013-06-25T21:11:34.507 に答える
3

他のすべての回答が私の同僚の1人に対してそれをしなかった後、私は次のことを考えました:

Beanstalk のようなリモートへのプッシュ (https) や ssh でさえも git bash コンソールを使用して動作するため、SSH の呼び出し方法に関係があるに違いないと考えたところ、リモートは次のようになりました。

user@server:/path/to/repo.git

だから単純なwhich sshことが私たちに与えた/bin/ssh

追加したばかりの.bashrcプロファイルで

export GIT_SSH=/bin/ssh.exe

そして出来上がり。

もっと簡単な解決策は、Mac を購入することです。:)

ハッピーギッティング

于 2015-04-15T09:55:19.337 に答える
1

cmd.exe を使用してみてください。Git Bash は、マシンの環境変数に問題があるようです。

CMD で、echo %GIT_SSH%設定されているかどうかを確認します (PuTTY/Plink はそれを行います)。設定されていて、openssh を使用する場合は、 でクリアしset GIT_SSH=ます。

それを行った後、Git Bashはまだ機能しませんが、CMDでsshを使用して問題なくプッシュおよびプルできました。

于 2014-03-18T15:28:17.307 に答える