1. ホーム
  2. git

[解決済み] github サポートされている認証方法がありません

2022-11-17 22:09:58

質問

私はgithubを使用しており、過去にラップトップ上でファイルの追加と同期に成功したことがあります。

最近、quotが表示されるようになりました。 PuTTY Fatal Error: 切断されました。サポートされている認証方法がありません "を実行した後です。

git pull origin master (またはpush)

ただし

ssh [email protected] は正しいレスポンスを返します。 ERROR: Hi username! 認証に成功しましたが、GitHub はシェルアクセスを提供しません。 github.com への接続を閉じました。

githubでいろいろ調べていたら、こんなモルセルを見つけました。

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

plink.exe または peagant.exe が何であるかはわかりません。ssh [email protected] が正しく認証されているようだという事実は、ここでの最善の解決策が何であるかを考えさせます。必要でない場合は確かに私の設定を複雑にしたくはありません。

どのように解決するのですか?

ホームディレクトリにquot;.profile"という名前のファイルを作成します。

そのファイルの中に、以下のコードを記述してください。

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

これは、環境変数GIT_SSHに、gitに付属するsshクライアントを使用するように設定します。

.profile スクリプトは、Git Bash のコマンドラインを起動したときに実行されます。

編集する これが私の.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