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
明らかな答えにつまずく前に、私はこの問題と数時間戦った。私が抱えていた問題は、キーを生成したときと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は以前に生成したキーを使用できるようになります。
これまでのところ、この修正は現在のウィンドウに対してのみです。完全に修正するには、環境変数を変更する必要があります。
これで、今後開くコマンドウィンドウに正しい設定が適用されます。
お役に立てれば。
これは、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
_
スマート引用符を使用しています“
の代わりに "
ここに:
git.exe clone -v “ssh://
^^^
Plain-old-double-quoteを使用していることを確認してください。
「C:/ Program Files/Git/usr/bin」ディレクトリにssh.exeが見つかりました
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
上記の回答のいくつかで問題を解決しようとしていましたが、何らかの理由でうまくいきませんでした。私はgit拡張機能を使用するように切り替えましたが、これは私が従った手順です。
Tools -> Settings -> SSH -> Other ssh client
に行きましたC:\Program Files\Git\usr\bin\ssh.exe
に設定しますこのステップは上記で説明したものとまったく同じだと思います。唯一の違いは、端末ではなくGit Extensionsユーザーインターフェイスを使用したことです。この助けを願っています。