web-dev-qa-db-ja.com

二要素認証を備えたGitHubリポジトリにローカルリポジトリをプッシュする

ローカルリポジトリ(GitHubアプリがインストールされてログインしているOS X 10.8.5システム)のコードを、コマンドラインを使用してWebサイトからGitHubで作成したリポジトリにプッシュしようとしています。奇妙なことに、git Push -u Origin masterを実行しようとすると、(正しい)GitHub資格情報を使用してログインし、fatal: Authentication failedを取得します。

私は二要素認証を使用していますが、GitHubアプリケーションを介してこの問題でマシンを認証しました。この操作に適したSSHキーもあります。

この問題の原因は何ですか?どうすれば修正できますか?

9
Jules

2要素認証は通常、マシンごとに機能しません。クライアントごとに機能します。 Webブラウザを使用してGitHubにログインすると、認証情報と2FAステータスの両方を含むCookieを記憶するのはWebブラウザです。 gitはそれについて知りません。

HTTP(S)をプッシュオーバーするには、 GitHubのアプリケーション設定 ページでセカンダリパスワード(「パーソナルアクセストークン」)を生成する必要があります([新しいトークンの作成]ボタンを使用)。 gitは、毎回パスワードを再入力/貼り付けしたくない場合、「パスワード」を記憶できることに注意してください。

15
user1686