2FAを有効にしただけで(他に行った変更は考えられません)、gitはユーザー名とパスワードを要求しました。私は両方を提供しましたが、それらは「間違っていました」。ここで多くの解決策を試しました: Git Pushにはユーザー名とパスワードが必要です しかし、それは機能しませんでした。特に、httpsからsshに切り替えるとき、sshキーは
許可が拒否されました(公開鍵)。致命的:リモートリポジトリから読み取ることができませんでした。
$ git Push
warning: Push.default is unset; its implicit value is changing in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the current behavior after the default changes, use:
git config --global Push.default matching
To squelch this message and adopt the new behavior now, use:
git config --global Push.default simple
See 'git help config' and search for 'Push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)
Username for 'https://github.com': **********
Password for 'https://[email protected]':
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/mlbileschi/scala.git/'
任意のヒント?
アクセストークンを生成する必要があります。 設定ページ に移動して作成できます。
このアクセストークンをコマンドラインでパスワードとして使用します。
ゲルゴ・エルドシに称賛を。彼の答えはほぼ正しいです。Githubがその設定ページを変更しただけです。 2016年後半の時点で、アクセストークンを生成する必要がありますPersonal access tokens page から。
このアクセストークンをコマンドラインでパスワードとして使用します。
ユーザー名をプロジェクトのリモートURLに含めることで、ユーザー名を永続化できます。それを行う方法の1つは、.git/config
は、url
行を次の形式に変更します。
url = https://[email protected]/owner/repo.git
これを1回だけ実行することにより、パスワードを保持できます。
$ git config credential.helper store
そして、あなたの将来のgitパスワードは、フォーマットhttps://user:[email protected]
。
パスワードをプレーンテキストで保存することは、通常、セキュリティ上のリスクと見なされます。ただし、この2FAの場合、資格情報は実際のパスワードではなく、ランダムに生成された文字列です。使用するのと同じくらい安全です ssh秘密鍵 パスフレーズなしのssh秘密鍵。警告:このマシンで2FAを使用せずに別のgitアカウントを使用する場合、それらの実際のパスワードもプレーンテキストで保存されることに注意してください。
PS:あるいは、パスフレーズで保護されたssh秘密鍵を使用して、sshベースのログインを使用することもできます。
同様の問題がありました。ユーザー名を含めるために、gitコマンドで使用されるURLを変更する必要がありました。
git Push https://[email protected]/mlbileschi/scala.git
次に、PWを要求するときに、Gergo Erdosiの答えの指示に従って作成したアクセストークンを使用します。
Linuxでは、SSHキーを使用してGitHub IDを認証できます。
ターミナルを開きます。
GitHubのメールアドレスに置き換えて、以下のテキストを貼り付けます。
ssh-keygen -t rsa -b 4096 -C "[email protected]"
これにより、提供された電子メールをラベルとして使用して、新しいsshキーが作成されます。
ターミナルを開き、生成された公開キーをコピーします
cat ~/.ssh/id_rsa.pub
何かを出力する必要があります
ssh-rsa AAAAB3NzaC1y ... mKAKw== [email protected]
https://github.com/settings/keys に移動してNew SSH Key
をクリックし、タイトルを付けて公開キーをコピーして貼り付けます。
https://
からssh
に変更しますターミナルを開き、リポジトリの場所にcd
して入力します
git remote set-url Origin [email protected]:<github username>/<repository name>
これは私のために働いた:
[your-git-repo] /。git/configに移動します
下 [remote "Origin"]
URL
キーをhttpプロトコルからgitに変更します。
例
url
の値が https://github.com/ 。gitの場合、[email protected]:<repo-url>.git