web-dev-qa-db-ja.com

Win10 Linuxサブシステムを実行しているときに、Githubで「AuthenticationFailed」が発生し続けるのはなぜですか?

開発者モードが有効で、LinuxサブシステムがインストールされているWindows10を実行しているマシンを使用しています。 bashに切り替えると、gitから単純なcloneコマンドを実行しようとしています。

git clone https://github.com/PrivateRepo/my-private-repo.git

もちろん、ここでURLを少しスクラブしましたが、わかります。最初、そのコマンドから返ってきた応答は次のとおりです。

致命的:アクセスできません ' https://github.com/PrivateRepo/my-private-repo.git/ ':サーバー証明書の検証に失敗しました。 CAfile:/etc/ssl/certs/ca-certificates.crt CRLfile:なし

私はそれについて話しているいくつかのStackOverflowの回答を見ましたが、正直なところ、私はそのエラーに対処するための適切な方法を本当に知りません。そうは言っても、次のコマンドを実行して、完全に回避するという不適切な方法を知っています。

git config --global http.sslverify false

そして、それはうまくいくようです。すべてのSSL検証をオフにするのはおそらく悪いことですが、これを機能させる必要があり、それは実際にはこの質問のポイントではありません(これについて説明します)。しかし、余談ですが、あなたがそれを修正する適切な方法を知っているなら、私はすべての耳です。

次に、git cloneコマンドを再実行すると、今回はユーザー名とパスワードの入力を求められましたが、最終的には別の理由で失敗しました。外観は次のとおりです。

git clone https://github.com/PrivateRepo/my-private-repo.git
Cloning into 'my-private-repo'...
Username for 'https://github.com': myuser
Password for 'https://[email protected]': 
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/PrivateRepo/my-private-repo.git'

ただし、入力したユーザー名とパスワードが正しいことは保証できます。 Git for Windowsもインストールしていますが、試してみるとすべてうまくいきました。唯一の注意点は、コマンドラインでパスワードの入力を求める代わりに、資格情報を入力するための別のウィンドウが開き、6桁の2FAコードも要求されることでした。それからそれはうまく複製しました。そうすることで、Githubにパーソナルアクセストークンが作成されることに気づきました。そこで、先に進んで別のパーソナルアクセストークンを作成し、bashで手動で使用しようとしました。基本的に、ユーザー名にmyuserと入力する代わりに、myuser:mytokenと入力しました。

git clone https://github.com/PrivateRepo/my-private-repo.git
Cloning into 'my-private-repo'...
Username for 'https://github.com': myuser:a1abcdefab2a34567ab8901a2bc3d4567890a1b2
Password for 'https://myuser:[email protected]': 
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/PrivateRepo/my-private-repo.git'

しかし、ご覧のとおり、それでも失敗しました。 Windowsのbashでgitを動作させるにはどうすればよいですか?

1
soapergem

ユーザー名を使用するだけで、パスワードの代わりにアクセストークンを使用できます。トークンがパスワードを置き換えるので、パスワードは必要ありません。

1
JeffJWills