Git For Windowsをインストールし、Cygwin を介して SSH を使用して SSH キーを作成しました。コマンドラインと Git for Windows GUI から動作しているようですが、今は TortoiseGit を使いたいと思っています。TortoiseGit はデフォルトで Putty のような SSH クライアントを使用しますが、どうやら GitHub は (open) SSH のみを受け入れるようで、どうすればよいかわかりません。TortoiseGit のクリーン インストールを行います。既に Cygwin と Git for Windows がインストールされています。
5 に答える
最も簡単な方法は、まず TortoiseGit をインストールしてから、SSH クライアントを TortoisePLink に設定して msysgit をインストールすることです。TortoiseGit Puttykey ジェネレーターを使用して新しいキーペアを作成し、公開鍵を GitHub に追加します。
新しいリポジトリを複製/作成します。Tortoise リポジトリの設定で、フルネームと電子メールを設定します。次に、Git 構成メニューの下のリモート メニューでクローン URL を入力し、PuTTY キーを選択します。GitHub は PuTTY キーで問題なく動作します。使っている友達もいますし、自分も使っています。
1) シグウィン
記事Working with SSH key passphrases で説明されているアプローチを使用します。
パスワードは、Cygwin セッションの開始時に 1 回だけ要求されます。!!! Cygwin セッションを終了する前に、ssh-agent プロセスを強制終了することを忘れないでください (プロセス PID の検索には ps を使用し、-9 を強制終了します)。
Cygwin は何らかの理由で Windows 環境で外部から開始されたプロセスを認識しないため、Cygwin には別のアプローチを使用しています。
2, 3) MsysGit、TortoiseGit
便利なリンク: http://dogbiscuit.org/mdub/weblog/Tech/WindowsSshAgent
MsysGit をインストールします。TortoiseGit をインストールします (インストール中に plink の代わりに openssh をチェックします)。!!! システム変数を確認してください。GIT_SSH 変数が存在する場合は削除します。
TortoiseGit -> Settings -> Generalに移動します。
Git EXE パスを <MsysGitHome>/bin に設定します。外部 DLL パスを <MsysGitHome>/mingw/bin に設定します。
TortoiseGit -> Settings -> Networkに移動します。SSH クライアント プロパティを <MsysGitHome>/bin/ssh.exe に設定します。
システム変数 SSH_AUTH_SOCKS=C:\temp.ssh-socket を定義します
cmd.exe を起動し、次のコマンドを実行します (MsysGit をインストールしたので、次のコマンドはすべて cmd でアクセスできます - <MsysGit>/bin がシステム PATH 変数に追加されます)。
# The following command is required to execute for avoiding an address already bind message when ssh-agen is not started yet but .ssh-socket exists after previous agent session
rm "%SSH_AUTH_SOCK%"
# Starting ssh-agent
ssh-agent -a "%SSH_AUTH_SOCK%"
# Adding our openssh key
ssh-add "%USERPROFILE%\.ssh\id_rsa"
# Type password for your key
それでおしまい。git push
その瞬間から、git pull
TortoiseGit および MsysGit からパスフレーズを要求することなく を実行できます。
ssh-agent が不要になったら、 Windowsタスク マネージャーで強制終了できます。