web-dev-qa-db-ja.com

WindowsでのSSHを使用したGit

Tim Davisが提供する優れたガイド を経験しました。これは、Gitを設定してWindowsでSSHを使用し、DVCSの主要な場所を確保するためにGitサーバーを作成することに関するものです。

私は自分のプロジェクトのクローンを作成中です。ここまですべての手順を実行しましたが、TortoiseGitからこれを取得し続けます。

git.exe clone -v “ssh://[email protected]:22/SSH/Home/administrator/myapp.git” “E:\GitTest\myapp”

bash: [email protected]: command not found
Initialized empty Git repository in E:/GitTest/myapp/.git/
fatal: The remote end hung up unexpectedly
Success

そして何も複製されません。

ところで:このメッセージが表示される直前にTortoisePLinkが表示され、「login as:”(この情報はコマンドで提供されると考えました。つまり:Administrator@blahblah

私のホーム変数は正しい場所に設定されています:Git Bash Shellから:

echo $HOME
/c/SSH/home/Administrator

また、TortoisePLinkの代わりにPuTTYのplinkを使用してみました(GitとTortoiseGitの両方のインストール)。今回、エラーは次のように絞り込まれました。

git.exe clone -v “ssh://[email protected]:22/c:/SSH/Home/administrator/myapp.git” “E:\GitTest\myapp”

Initialized empty Git repository in E:/GitTest/myapp/.git/
fatal: The remote end hung up unexpectedly
42
pankar

明らかな答えにつまずく前に、私はこの問題と数時間戦った。私が抱えていた問題は、キーを生成したときとgitを使用したときで異なるssh実装を使用していたことでした。

コマンドプロンプトからssh-keygenを使用してキーを生成しましたが、「git clone ssh:// ...」を試してみると、パスワードプロンプトと「fatal:The remote予期せずハングアップしました」。

Windowsの「where」コマンドを実行して、使用しているsshウィンドウを特定します。

C:\where ssh
C:\Program Files (x86)\Git\bin\ssh.exe

2行目は、どのプログラムが実行されるかを示しています。

次に、gitが使用しているsshを判別する必要があります。これを見つける:

C:\set GIT_SSH
GIT_SSH=C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe

そして今、あなたは問題を見ています。

これを修正するには、単に次を実行します。

C:\set GIT_SSH=C:\Program Files (x86)\Git\bin\ssh.exe

変更が適用されているかどうかを確認するには:

C:\set GIT_SSH
GIT_SSH=C:\Program Files (x86)\Git\bin\ssh.exe

これで、gitは以前に生成したキーを使用できるようになります。

これまでのところ、この修正は現在のウィンドウに対してのみです。完全に修正するには、環境変数を変更する必要があります。

  1. Windowsエクスプローラーを開きます
  2. [コンピューター]を右クリックし、[プロパティ]を選択します。
  3. 左側の[システムの詳細設定]リンクをクリックします
  4. [環境変数...]ボタンをクリックします
  5. システム変数セクションでGIT_SSH変数を選択し、編集...ボタンを押します
  6. 変数値を更新します。
  7. [OK]を押してすべてのウィンドウを閉じます

これで、今後開くコマンドウィンドウに正しい設定が適用されます。

お役に立てれば。

91
Todd

これは、Windows上のSSHでgitおよびgithubを動作させるための検索結果に表示され続けるため(そして、上記のガイドから何も必要なかったため) 、次の簡単なソリューションを追加しています。

(Microsoftは彼らがVisual StudioへのSSHの追加に取り組んでおり、GitHub for WindowsはまだSSHをサポートしていないと言っています...)

1。「git for Windows」(sshとbashシェルを含む)をインストールしました

https://git-scm.com/download/win

2。付属のbashシェルから(私にとっては、_C:\Program Files\Git\git-bash.exe_にインストールされていました)

cdをレポジトリを保存するルートレベル(_C:\code\github\_のようなもの)に、そして

タイプ:

eval $(ssh-agent -s) && ssh-add "C:\Users\YOURNAMEHERE\.ssh\github_rsa"

3。Type:(リポジトリからのSSHリンク)

_git clone [email protected]:RepoName/Project.git_

12
jaygeek

スマート引用符を使用しています の代わりに " ここに:

git.exe clone -v “ssh://
                ^^^ 

Plain-old-double-quoteを使用していることを確認してください。

7
J-16 SDiZ

「C:/ Program Files/Git/usr/bin」ディレクトリにssh.exeが見つかりました

6
user3183915

Git for Windowsがインストールされている場合は、Git Bash Shell

  bash

Bash Shell内からsshを実行できます(Bashはsshのパスを認識しています)

Sshの正確なパスを知るには、Bashシェルで「where」コマンドを実行します。

  $ where ssh

あなたが得る:

  c:\Program Files\Git\usr\bin\ssh.exe
1
M.Hassan

上記の回答のいくつかで問題を解決しようとしていましたが、何らかの理由でうまくいきませんでした。私はgit拡張機能を使用するように切り替えましたが、これは私が従った手順です。

  1. Tools -> Settings -> SSH -> Other ssh clientに行きました
  2. この値をC:\Program Files\Git\usr\bin\ssh.exeに設定します
  3. 適用する

このステップは上記で説明したものとまったく同じだと思います。唯一の違いは、端末ではなくGit Extensionsユーザーインターフェイスを使用したことです。この助けを願っています。

0
Dalsier