[解決済み] Windowsでgitがパスフレーズを記憶できない理由
質問
gitを使い始めたばかりなのですが、パスフレーズを覚えてもらうことができません。
しかし、まだ
*\subnus.mvc>git push origin master
Enter passphrase for key '/c/Users/Subnus/.ssh/id_rsa':
解決方法は?
この質問が2年前にさかのぼることは承知していますが、私も同じ問題を抱えており、ここでのいくつかの回答は、私にとっては完全な答えではありませんでした。ここでは、msysgitに加えてTortoiseGitを使用しているかどうかに応じて、3つのステップバイステップの解決策を紹介します。
最初の解決策 Windows、msysgit、PuTTYを想定しています。
-
指示に従い、msysgitとPuTTYをインストールします。
-
(オプション) PuTTYをパスに追加します。 (これを行わない場合、以下の PuTTY コマンドへの参照は、適切な実行ファイルへのフル パスを先頭に付ける必要があります)。
-
まだの場合は、GitHub の指示か Git ホストの指示に従ってキーハッシュを生成します。
-
まだの場合は、PuTTYのpageant.exeで使用するために鍵を変換します。 puttygen.exe . 手順は、PuTTYのドキュメントにあります。 この有用なガイド その他、様々な場所で使用されています。
-
PuTTYの実行 pageant.exe を開き("Add Key")、鍵のパスフレーズを入力してください。
-
Windowsの環境変数ダイアログにアクセスします(「コンピュータ」を右クリック、「プロパティ」をクリック、「システムの詳細設定」をクリック、または「詳細設定」タブをクリック、「環境変数」をクリックします)。 以下の環境変数を追加してください。
GIT_SSH=C:\fullpathtoplink.exe
C:\fullpathto" を、plink.exe がある PuTTY のフルインストールパスに置き換えてください。これは、"User variables"セクションに追加するのが最善でしょう。また、plink.exeに使用するパスがPageant(pageant.exe)に使用するパスと一致することを確認します。PuTTYは他のアプリケーションと一緒にインストールされることがあるため、複数のインストールがある場合があります。あるインストールからplink.exeを使用し、別のインストールからpageant.exeを使用すると、問題が発生する可能性が高いです。
-
コマンドプロンプトを開いてください。
-
Github.comでホストされているgitリポジトリに接続しようとしている場合は、以下のコマンドを実行してください。
plink.exe [email protected]
接続しようとしている git リポジトリが他の場所でホストされている場合、次のように置き換えます。 [email protected] を適切なユーザー名とURLに置き換えてください。(Githubを想定) サーバのホスト鍵がキャッシュされていないことを知らされ、それを信頼するかどうか尋ねられるはずです。を付けて答えてください。 y . これにより、サーバのホスト鍵がPuTTYの既知のホストのリストに追加されます。このステップを踏まないと、gitコマンドは正常に動作しません。Enterを押すと、Githubはシェルアクセスを提供しないことを通知します。それはいいんです...必要ないんです。(他のホストに接続していて、シェルアクセスを提供された場合、何もせずにリンクを終了するのがベストでしょう)。
-
すべて完了です。 これで、コマンドラインから Git コマンドを実行できるようになりました。pageant.exeを 起動時に自動的に .ppk ファイルをロードします。 を必要とする頻度にもよりますが。
第二の解決策 Windows、msysgit、TortoiseGitを想定しています。
TortoiseGit には PuTTY の実行ファイルと、特別に修正された plink (TortoisePlink.exe と呼ばれる) が付属しており、これを使用するとより簡単に行えます。
-
msysgitとTortoiseGitを指示通りにインストールします。
-
まだの場合は、GitHub または Git ホストの指示に従い、キーハッシュを生成してください。
-
繰り返しになりますが、まだの場合は、TortoiseGit の pageant.exe で使用するために、TortoiseGit の puttygen.exe . 手順はPuTTYのドキュメント、最初の解決策でリンクされた有用なガイド、およびサイバースペースの他のいくつかの場所に記載されています。
-
TortoiseGit の pageant.exe を開き("Add Key")、鍵のパスフレーズを入力してください。
-
Windowsの環境変数ダイアログにアクセスします(「コンピュータ」を右クリックし、「プロパティ」をクリック、「システムの詳細設定」または「詳細設定」タブをクリックし、「環境変数」をクリックします)。 以下の環境変数を追加してください。
GIT_SSH=C:\fullpathtoTortoisePlink.exe
C:\fullpathto" を、TortoiseGit のフルインストールパスで置き換えてください。おそらく、 "User variables" セクションに追加するのがベストでしょう。 また、TortoisePlink.exe へのパスが Pageant (pageant.exe) に使用するパスと一致していることを確認してください。場合によっては、PuTTYが他のアプリケーションと一緒にインストールされていることがあるため、PuTTYが複数インストールされていることがあります。TortoiseGit のインストールから TortoisePlink.exe を、別のアプリケーションのインストールから(あるいはスタンドアロンの PuTTY のインストールから) pageant.exe を使用すると、おそらく問題が発生します。
-
すべて完了です。 これで、コマンドラインから Git コマンドを実行できるようになりました。初めて git リポジトリに接続しようとすると、おそらくサーバーのホストキーがキャッシュされていないことを知らされ、そのサーバーを信頼するかどうかを尋ねられるでしょう。Yes"をクリックします。(これは TortoisePlink.exe が動作しているところです。)
あなたは、pageant.exeを ブート時に自動的に.ppkファイルをロードします。 を必要とする頻度にもよりますが。
第3の解決策 Windows、msysgit、ネイティブコマンドプロンプトを想定しています。
- msysgitのインストール
- MS-DOSのコマンドプロンプトでgitが使えるようにすること
-
実行する
start-ssh-agent
- SSHパスフレーズの入力
- すべて完了です。これで、Git コマンドがネイティブのコマンドプロンプトで動作するようになりました。
関連
-
[解決済み] Gitで落としたスタッシュを復元する方法とは?
-
[解決済み] Git のローカルコミットを破棄する
-
[解決済み] detached HEADとmaster/originの連携はどうすればいいですか?
-
[解決済み] 新しい鍵を作成せずに、SSH鍵のパスフレーズを削除するにはどうすればよいですか?
-
[解決済み] Git で単一のブランチをクローンする方法を教えてください。
-
[解決済み] 古いリモート git ブランチのクリーンアップ
-
[解決済み] Git がパスワードの入力を要求し続ける
-
[解決済み] Git が ssh 鍵のパスフレーズを要求し続ける
-
[解決済み] SSHキー - まだパスワードとパスフレーズを要求される
-
[解決済み】Featureブランチのリベースの後、Gitプッシュが拒否される。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] UnicodeDecodeError: 'charmap' コーデックは、位置YのバイトXをデコードできません:文字は<undefined>にマップされます。
-
[解決済み] NERDTreeで隠しファイル(ピリオドで始まる)を表示するにはどうしたらいいですか?
-
[解決済み] Windowsタスクバーのアイコンは何ピクセルですか?
-
[解決済み] Git のステータスが完了するまでに長い時間がかかる
-
[解決済み] Sudoが見つかりません。npm install を試しています。
-
[解決済み] WindowsタスクスケジューラでVBScriptが実行されない
-
tensorflow load error 終了コード -1073741819 (0xC0000005)でプロセス終了。
-
Win7でopensslを使用すると「ランダムな状態」を書き込めない問題
-
[解決済み] PowerShellでTAB文字を入力するには?
-
[解決済み] mingw-w64スレッド:PosixとWin32の比較