105

私はgithubを使用しており、過去にラップトップにファイルを正常に追加して同期しました。

最近、実行後に「 PuTTY Fatal Error: Disconnected: No supported authentication methods available 」を取得し始めました:

git pull オリジン マスター (またはプッシュ)

でも

ssh git@github.com は正しい応答を返します: ERROR: Hi username! 認証に成功しましたが、GitHub はシェル アクセスを提供しません github.com への接続が閉じられました。

githubを掘り下げた後、私はこのモーセルを見つけました:

サポートされている認証方法がありません ssh が機能しない場合、ssh を話すクライアントを見つけるために git が使用する環境変数 GIT_SSH に注意する必要があります。git インストールは、認証を実行するために (GIT_SSH 経由で) plink.exe を使用している可能性があります。その場合は、pageant.exe が実行されていること、および github 用に作成したキーが読み込まれていることを確認してください。これにより、plink.exe へのキーが提供されます。それがないと、上記のエラーが発生します。

plink.exeまたはpeagant.exeが何であるかわかりません..そして、ssh git@github.comが正しく認証されているように見えるという事実は、ここでの最善の解決策は何か疑問に思います..そうでない場合でも、セットアップを過度に複雑にしたくないのは確かです必要。

4

18 に答える 18

107

ホームディレクトリに「.profile」という名前のファイルを作成できます。私の場合、それは C:\Users\[user] です

そのファイル内に、次のコード行を挿入します。

GIT_SSH="/usr/bin/ssh.exe"

これにより、git に含まれる ssh クライアントを使用するように GIT_SSH 環境変数が設定されます。

Git Bash コマンド ラインを開始すると、.profile スクリプトが実行されます。

編集: これは私の .profile です。最初に git コマンド プロンプトを起動するときにパスワードの入力を求められ、それ以降はコンピューターを再起動するまで記憶されます。何かをするたびにパスワードを入力する必要がないので、非常に便利です。

SSH_ENV="$HOME/.ssh/environment"
GIT_SSH="/usr/bin/ssh.exe"

function start_agent {
echo "Initializing new SSH agent..."
/usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
echo succeeded
chmod 600 "${SSH_ENV}"
. "${SSH_ENV}" > /dev/null
/usr/bin/ssh-add;
}

# Source SSH settings, if applicable
if [ -f "${SSH_ENV}" ]; then
. "${SSH_ENV}" > /dev/null
#ps ${SSH_AGENT_PID} doesn't work under cygwin
ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
start_agent;
}
else
start_agent;
fi
于 2010-10-01T18:57:42.253 に答える
41

TortoiseGit の使用

TortoiseGit > 設定 ... ネットワーク ... SSH クライアント:C:\Program Files\Git\usr\bin\ssh.exe

場所はさまざまです。1台のコンピューターにありましたC:\Program Files (x86)\Git\bin\ssh.exe

亀頭

于 2015-08-03T14:44:40.630 に答える
8

GIT_SSHTortoiseSVNバージョンのを指していたため、この問題が発生しましたPlink.exe。TortoiseGitバージョンを指すように変更し、cmdを再起動すると、機能しました。

正確には思い出せませんが、TortoiseSVNバージョンは32ビットバージョンであり、TortoiseGitバージョンは64ビット(Program FilesではなくにありProgram Files (x86)ます)でした。

環境変数を再確認してくださいGIT_SSH

私は通常のgitを使用することを好みますcmd.exe(もちろんConsole2で)

于 2011-10-11T13:14:45.170 に答える
4

Windows 8で私のために働いた:GIT_SSH変数はplink.exeを指していました.sshバイナリを指すようにシステム設定で変更し、問題を修正しました. ssh へのフル パスを確認するには、次のコマンドを実行します。

where ssh
于 2016-10-14T02:18:53.860 に答える
4

私の問題は、自分の github ユーザー名を使用しようとしていたことです。どうやら Github を使用する場合(または Git のことですか?)、キーベースの認証を使用する場合は、ユーザー名を に設定する必要がありますgit

ユーザー名が必要な理由がまったくわかりません-おそらく、より知識のある人がそれを説明できますか?

于 2013-11-05T17:15:01.037 に答える
1

ここに記載されている同じエラー、別の解決策 - PuTTY 経由でも、Windows で GitHub に接続する際の問題

于 2011-02-17T19:07:20.913 に答える
1

これと同じ問題が発生しましたが、GIT_SSH ソリューションは 1 回だけ機能するように見えました。コンピューターを再起動した後、Git Bash またはコマンド プロンプトを使用して問題なくプライベート リポジトリのクローンを作成できましたが、SublimeGit プラグインを使用した Sublime Text 3 ではクローンを作成できなかったため、それが何か別のものであることに気付きました。私の解決策はシンプルで、実際には@BlueRaja - Danny Pflughoeftが言及したものですが、何らかの方向性を使用できると思いました;)

~/.ssh/config基本的に、ユーザー名を編集して確認するだけですgit。Github に特定の SSH キーを使用するように指示することもできます。私の~/.ssh/configファイルは次のようになります。

Host gh
    Hostname github.com
    User git
    IdentityFile ~/.ssh/github_rsa.pub

私は 1 日を通して他にも多くのことを行っているため、Github の特定のキーを持っていますが、1 つしか持っていない場合は、通常、Github で説明されている~/.ssh/id_rsa.pubようになります。

誰もが異なる解決策を持っていることは知っていますが、修正せずにこの記事に遭遇する可能性がある人のために、ここに残しておきます. 幸運を!

于 2014-10-15T01:01:33.120 に答える
0

ここから plink & pageant を入手できます: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

これらは PuTTY ツールです。

于 2010-08-18T03:24:21.827 に答える