2016-01-06 10 views
10

私はWindowsです。私はgitとposh-git(Windows PowerShellのいくつかのヘルパー)をインストールしました。私はssh-addで鍵を追加することができ、githubと私のウェブサーバで認証することができます。 PowerShellのgitを使ってリポジトリとやりとりすることもできます。Windowsでssh-agentでgitを使用する

しかし私はできないことがあります:私はgit-plusをAtomエディタに使用します。そして、私はそれを私のレポに押し付けることはありません。私の問題は何ですか?

+0

はhttp://haacked.com/archive/2011/12/19/get-を参照してください。 git-for-windows.aspx/sshエージェントをposh-gitで動作させる方法の詳細 –

答えて

14

posh-gitgit for windows 2.7には、ssh-agentをセットアップするために必要なものがすべて含まれている必要があります。

のgit-プラス原子パッケージはできるはずです
C:\Code\Go\src\bosun.org\cmd\scollector [master]> gci env:SSH_AUTH_SOCK 

Name       Value 
----       ----- 
SSH_AUTH_SOCK     /tmp/ssh-6ORcVQvRBZ2e/agent.11668 

:あなたはその後、SSH_AUTH_SOCK環境変数が設定されて表示されるはずです

Import-Module ~\Documents\WindowsPowerShell\Modules\posh-git\posh-git 
Set-Alias ssh-agent "$env:ProgramFiles\git\usr\bin\ssh-agent.exe" 
Set-Alias ssh-add "$env:ProgramFiles\git\usr\bin\ssh-add.exe" 
Start-SshAgent -Quiet 

:あなたは、モジュールがインストールされていたら、のようなものを使用してエージェントを起動することができますコマンドを実行するときに使用します。 Ctrl + Shift + Hを押してgitメニューをアトムにし、プッシュを選択してからリモートリポジトリにプッシュすることができました(失敗した場合はエラーを表示しませんが、プッシュした新しいブランチがそこにありました) 。

SSH_AUTH_SOCK環境変数が設定されるようにatomを開く前にssh-agentを起動する必要があります。それでも動作しない場合、あなたはそれがパスワードなしで接続できることを確認するために、PowerShellでのsshをテストしたいことがあります。

Set-Alias ssh "$env:ProgramFiles\git\usr\bin\ssh.exe" 
ssh hostname 
+0

はい、SSH_AUTH_SOCK変数が設定されています。さらに、保護されていない鍵を使わずに接続すると、Atomとgit-plus内で作業しました。エージェントが実行されているときに、アイデンティティがインポートされます。私はsshとの接続を確立することができますが、git-plusは保護されたキーでは動作しません。 – LuMa

+0

保護されたキーはどういう意味ですか? –

+0

パスフレーズで保護されているキー。たとえば、私はGitHubの文書に続く鍵を作成します:https://help.github.com/articles/generating-ssh-keys/鍵を作成する(id_rsa)、パスフレーズで保護してsshエージェントに追加します。それからGitHubと私のウェブサーバに追加します。 PowerShellを使用してローカルプロジェクトにcdし、キーのパスフレーズを入力せずにプッシュ/プルすることができます。 sshを使って私のウェブサーバに接続しても動作します。しかし、git-plusは動作しません。キーからパスフレーズを削除した場合( 'ssh-keygen -p'を使って)、git-plusはその仕事をします。だから、なぜgit-plus ssh-agentを使用しないのでしょうか? – LuMa

関連する問題