shokurov / svnx

Automatically exported from code.google.com/p/svnx
0 stars 0 forks source link

svn+ssh does not work with svnX (public/private key issue) #96

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. access   a svn+ssh repository
2. enter username and passwd
3.

What is the expected output? What do you see instead?
expected:  "access to the repository"
instead : svn: Network connection closed unexpectedly 

What version of the product are you using? On what operating system?
snow leopard

Please provide any additional information below.
using from terminal svn+ssh works fine
It's a problem of public/private keys : apparently svnX only works using 
public/private keys 
but I did not succeed using these (various tips on the web to fix this failed , 
 for instance 
http://blog.simongregory.com/02/how-to-svnx-svn-ssh/
)
why do not support access as the terminal does (requesting id+passwd) ????

svnX is (really)  the best  free svn client on mac, it's a pity it does'nt work 
with svn+ssh !!!!!!!

Original issue reported on code.google.com by henry.so...@gmail.com on 6 Jun 2010 at 7:38

GoogleCodeExporter commented 8 years ago
It works fine for me.
I just tried it (with svnX 1.2) - repo browser, checkout, WC, merge, commit, 
update, the lot.
The info at 
<http://macromates.com/blog/archives/2005/11/06/subversion-support-and-ssh-key-p
airs/> (which is 
linked from the above linked article) appears to be better.
Specifically the server file to update is '.ssh/authorized_keys' NOT 
'.ssh/authorizedkeys'.

Additional info:
If the target machine is also a Mac then first enable Remote Login in System 
Preferences > Sharing.
With 'Remote Login' highlighted (on the server) note the value of <user>@<ip> 
where it displays:
    To log in to this computer remotely, type "ssh <user>@<ip>".
The URL to enter in the Path field of svnX's Repositories window is:
    svn+ssh://<user>@<ip>/Users/<user>/<some-folders>/<repo-folder>
You should NOT enter a User/Password unless you have configured the remote 
Subversion repository to require these.
[The User/Password fields in svnX are NOT the SSH user/password!]

NOTE: If SSH is configured correctly then entering 'ssh <user>@<ip>' in 
terminal will NOT request a password.

Original comment by chris...@gmail.com on 6 Jun 2010 at 3:47

GoogleCodeExporter commented 8 years ago
well, it does not work. 
More precisely generating the keys on the mac (client)  in ~/.ssh and adding 
the public one to ~/.ssh/authorized_keys 
on the server (running Linux) results in :
#on the mac lcient 
ssh user@host 
# asks the password 
For some reason the public/private key scheme does not work. So this is not a 
svnX issue per se.

It is however a pity that this prohibits using svnX with svn+ssh. It seems i am 
not the only one having ths problem. 

Original comment by henry.so...@gmail.com on 7 Jun 2010 at 10:00

GoogleCodeExporter commented 8 years ago
Of course it works, just not for you :-(.
Most likely you have not configured it correctly.
I don't know what Linux you are using so I can't directly help.

Googling 'authorized_keys on Linux' provides some interesting info.
Specifically 
<http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/custom-guide/s1-openssh-c
lient-config.html>
and <http://www.openssh.org/faq.html#3.14> entitled 'I copied my public key to 
authorized_keys but public-key authentication still doesn't work.' 

Original comment by chris...@gmail.com on 7 Jun 2010 at 12:22

GoogleCodeExporter commented 8 years ago
Thans for your help, 
the solution was in the mentionned about Linux, 

it is mentionned that after having added the public key to the 
"authorized_keys" file  on the SERVER,, the following step has to be 
performed (on the SERVER)

- Change the permissions of your .ssh directory using the command chmod 755 
~/.ssh.

This is because ./ssh needs to have the "x" (executable) permission for 
everyone. 
then, from the client, "ssh user@host" no more asks for a passwd
and everything works fine.

At that point using
svn+ssh://<user>@<ip>/Users/<user>/<some-folders>/<repo-folder>
as a repository in svnX works fine
----------------------------
So, the whole process is (modified from the  site 
<http://macromates.com/blog/archives/2005/11/06/subversion-support-and-ssh-
key-pairs/>):

To generate an ssh key pair you'll need to run the following line in your 
terminal (on CLIENT machine, i.e. the mac where you use svnX):

ssh-keygen -t dsa
It'll ask for location and pass phrase, and you should accept the default 
location (~/.ssh/id_dsa.pub) and press return when it asks for 
pass phrase (to give the private key a blank pass phrase).

After this you need to upload the public key to the server. For this we use 
scp. S (by default the user name (here USER) is your local 
user):

scp ~/.ssh/id_dsa.pub USER@SERVER
Finally login to SERVER and append the public key to authorized keys:

ssh USER@SERVER
mkdir .ssh          # if it's not already there
cat id_dsa.pub >>.ssh/authorized_keys
rm id_dsa.pub       # cleanup
ADDED STEP : 
- Change the permissions of your .ssh directory using the command chmod 755 
~/.ssh.
After this, you should be able to login to the server and use scp without 
having to enter a password.
--------------------------------------------------------------------------------

Original comment by henry.so...@gmail.com on 7 Jun 2010 at 1:27

GoogleCodeExporter commented 8 years ago
a small typo :
scp ~/.ssh/id_dsa.pub USER@SERVER -> scp ~/.ssh/id_dsa.pub USER@SERVER:~

Original comment by henry.so...@gmail.com on 9 Jun 2010 at 7:03