I have source code checked out on my Linux machine. I connect to it via Samba. On a Linux machine, the SVNROOT
is set to
Tortoise SVN right click on desktop -> Tortoise SVN-> settings -> saved data -> authentication data (button press 'clear') ! try logging in now again !
By selecting "Settings" from the TortoiseSVN menu, and clicking the "Network" section, you can configure the "SSH client" command line. Adding " -i " followed by the path to your private key there will make the authentication work as it does on Linux.
The default SSH client is a program called "TortoisePlink", which uses a different key file format than the OpenSSH client that's used on Linux. You can convert the key supplied by your sysadmin to that format using the puttygen tool available here http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Alternatively, you could use an OpenSSH client with TortoiseSVN. The ssh.exe that comes with cygwin works fine, for example.
TortoiseSVN has a good chapter regarding SVN and SSH in its "help" documentation. The basic point is that you use PuTTY to connect.
So you need to configure PuTTY correctly first.
If you don't have a password, but have a key (.ppk):
Download PuTTY and run it. Interesting keys are:
Now save your configuration — go back to Session and enter e.g. MyServer
into Saved sessions text field, then click Save. After that UX nightmare you can re-open PuTTY, double-click on your MyServer
in session list and be logged in without providing anything.
TortoiseSVN connection string should look like svn+ssh://MyServer/path/to/repo
. Long story short, MyServer
string is checked by TortoiseSVN in PuTTY settings.
If you don't have a key, but have a password:
Go to TortoiseSVN – Settings – Network – SSH Client, and set it like that:
"C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe" -l <username> -pw <password>
Your connection string should look as usual: svn+ssh://serverhostname/path/to/repo
, without username@
.
This is insecure and all, for those who don't give a f-ck and want it now.
If your path to repo is like svn+ssh://server@hostname/path/...
and you have password to access it, you can solve it in network settings like this:
Settings -> Network -> SSH client
C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe" -pw [password]
If you're using a key to connect via SSH, and that key is password protected, it isn't SVN asking you for your password, it is SSH (or Plink).
SVN will make multiple calls, each establishing its own connection, and SVN doesn't know anything about the password requirement of SSH, thus it cannot cache the password.
You can avoid this by using an SSH key agent. For example, if you're using PuTTY, then use PuTTY's, Pageant.