ローカルリポジトリ(GitHubアプリがインストールされてログインしているOS X 10.8.5システム)のコードを、コマンドラインを使用してWebサイトからGitHubで作成したリポジトリにプッシュしようとしています。奇妙なことに、git Push -u Origin master
を実行しようとすると、(正しい)GitHub資格情報を使用してログインし、fatal: Authentication failed
を取得します。
私は二要素認証を使用していますが、GitHubアプリケーションを介してこの問題でマシンを認証しました。この操作に適したSSHキーもあります。
この問題の原因は何ですか?どうすれば修正できますか?
2要素認証は通常、マシンごとに機能しません。クライアントごとに機能します。 Webブラウザを使用してGitHubにログインすると、認証情報と2FAステータスの両方を含むCookieを記憶するのはWebブラウザです。 gitはそれについて知りません。
HTTP(S)をプッシュオーバーするには、 GitHubのアプリケーション設定 ページでセカンダリパスワード(「パーソナルアクセストークン」)を生成する必要があります([新しいトークンの作成]ボタンを使用)。 gitは、毎回パスワードを再入力/貼り付けしたくない場合、「パスワード」を記憶できることに注意してください。