Reputation: 43
Attempting to check out a repository using svn checkout svn+ssh://USER@REPO .
I have set my %SVN_SSH%
variable to include the -v
flag when calling plink.exe
, and the last log I get is Using username "USER".
After that the command line hangs indefinitely.
I get similar problems attempting to checkout the repository using TortoiseSVN and the Subversion integration in Intellij.
I have no problems connecting to the server using PuTTY or calling plink
directly in the command line. Using the -v
flag with plink
, I get prompted for my password immediately after the line where it hangs using svn checkout
.
I have Windows 7 Ultimate SP 1, svn version 1.8.13, plink release 0.60.
Upvotes: 3
Views: 2524
Reputation: 43
The problem seems to be that you have to use public key authentication for SVN to be able to use SSH in Windows properly.
There are a few tutorials online for how to do this, but the one that worked for me was this one.
The important difference, which I didn't find in other tutorials, was the usage of the chmod
command to change access permissions to the public key file on the server.
Upvotes: 1
Reputation: 2727
It might be too late to say, but i've had the similar problem.
In mine case the issue was in the command line of the plink.exe
.
To properly fix all issues and do not type infinite logins and passwords:
pageant.exe
to add the ppk key and avoid manual input of the password.SVN_SSH
environment variable with the -l "<username>"
parameters to avoid manual input of the user name and avoid usage the username in the svn repository url.SVN_SSH
environment variable with the -batch
parameter to avoid hangs in a script mode.The resulting SVN_SSH
environment variable should look like this:
SVN_SSH="<path-to-plink>/plink.exe" -batch -l "<USER>"
warning: backslash character in a path in the SVN_SSH
variable is an escape character, you have to use a double to self escape it or replace it a forward slash - /
.
But be careful with the git svn
command, because the SVN_SSH
variable can break the git with the message:
Can't create session: Unable to connect to a repository at URL 'svn+ssh://...': Error in child process: exec of '' failed: No such file or directory at .../Git/mingw64/share/perl5/Git/SVN.pm line 310.
In that case you have to use the ssh-pageant
from the msys
or cygwin
tools instead.
I've create another post with detailed description on how to do that step by step both for the svn.exe
and git.exe
: How to use git-svn with svn+ssh url
Upvotes: 0