svn+ssh funktioniert nicht

Serverdienste ohne eigene Kategorie
schoeppchen
Posts: 27
Joined: 2006-06-11 09:51

svn+ssh funktioniert nicht

Post by schoeppchen »

Hallo,

ich möchte über einen SSH Tunnel svn auf meinem Server anbieten. Leider scheint das nicht so ganz zu funktionieren, ich erhalte immer wieder den Fehler:
Host key verification failed
Vorab: Ich habe danach gegoogelt und keine sinnige Lösung gefunden. known_hosts ist leer, Authkey ist nicht angelegt.

Nun habe ich mal versucht das lokal nachzustellen. Ich habe einen SVN Server auf 192.168.0.201 und möchte von 192.168.0.99 darauf zugreifen.

Ich kann mich von 192.168.0.99 auf 192.168.0.201 mit dem Nutzer svn_pm anmelden per SSH, das funktioniert ohne Fehler und ich erhalte eine Shell.

Wen ich nun folgendes auf 192.168.0.99 setze:
export SVN_SSH="ssh 192.168.0.201 -p 22 -l svn_pm ssh"
und danach versuche auf svn zuzugreifen
svn info svn+ssh://localhost/
Erhalte ich wieder den Fehler.

Ich habe mal debugging angeschaltet für die SSH Verbindung, da komme ich aber auch irgendwie nicht weiter:
OpenSSH_5.1p1 Debian-5, OpenSSL 0.9.8g 19 Oct 2007
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 192.168.0.201 [192.168.0.201] port 22.
debug1: Connection established.
debug1: identity file /home/oliver.neumann/.ssh/identity type -1
debug1: identity file /home/oliver.neumann/.ssh/id_rsa type -1
debug1: identity file /home/oliver.neumann/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_4.3p2 Debian-9etch3
debug1: match: OpenSSH_4.3p2 Debian-9etch3 pat OpenSSH_4*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.1p1 Debian-5
debug2: fd 3 setting O_NONBLOCK
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ssh-rsa,ssh-dss
debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128,arcfour256,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se,aes128-ctr,aes192-ctr,aes256-ctr
debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128,arcfour256,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se,aes128-ctr,aes192-ctr,aes256-ctr
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,zlib@openssh.com,zlib
debug2: kex_parse_kexinit: none,zlib@openssh.com,zlib
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ssh-rsa,ssh-dss
debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128,arcfour256,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se,aes128-ctr,aes192-ctr,aes256-ctr
debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128,arcfour256,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se,aes128-ctr,aes192-ctr,aes256-ctr
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,zlib@openssh.com
debug2: kex_parse_kexinit: none,zlib@openssh.com
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: mac_setup: found hmac-md5
debug1: kex: server->client aes128-cbc hmac-md5 none
debug2: mac_setup: found hmac-md5
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug2: dh_gen_key: priv key bits set: 147/256
debug2: bits set: 524/1024
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug3: check_host_in_hostfile: filename /home/oliver.neumann/.ssh/known_hosts
debug3: check_host_in_hostfile: match line 1
debug1: Host '192.168.0.201' is known and matches the RSA host key.
debug1: Found key in /home/oliver.neumann/.ssh/known_hosts:1
debug2: bits set: 522/1024
debug1: ssh_rsa_verify: signature correct
debug2: kex_derive_keys
debug2: set_newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug2: set_newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug2: key: ssh-rsa (0x7f6fee888ab0)
debug2: key: /home/oliver.neumann/.ssh/identity ((nil))
debug2: key: /home/oliver.neumann/.ssh/id_rsa ((nil))
debug2: key: /home/oliver.neumann/.ssh/id_dsa ((nil))
debug1: Authentications that can continue: publickey,keyboard-interactive
debug3: start over, passed a different list publickey,keyboard-interactive
debug3: preferred gssapi-keyex,gssapi-with-mic,gssapi,publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering public key: ssh-rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,keyboard-interactive
debug1: Trying private key: /home/oliver.neumann/.ssh/identity
debug3: no such identity: /home/oliver.neumann/.ssh/identity
debug1: Trying private key: /home/oliver.neumann/.ssh/id_rsa
debug3: no such identity: /home/oliver.neumann/.ssh/id_rsa
debug1: Trying private key: /home/oliver.neumann/.ssh/id_dsa
debug3: no such identity: /home/oliver.neumann/.ssh/id_dsa
debug2: we did not send a packet, disable method
debug3: authmethod_lookup keyboard-interactive
debug3: remaining preferred: password
debug3: authmethod_is_enabled keyboard-interactive
debug1: Next authentication method: keyboard-interactive
debug2: userauth_kbdint
debug2: we sent a keyboard-interactive packet, wait for reply
debug2: input_userauth_info_req
debug2: input_userauth_info_req: num_prompts 1
Password:
debug3: packet_send2: adding 32 (len 22 padlen 10 extra_pad 64)
debug2: input_userauth_info_req
debug2: input_userauth_info_req: num_prompts 0
debug3: packet_send2: adding 48 (len 10 padlen 6 extra_pad 64)
debug1: Authentication succeeded (keyboard-interactive).
debug2: fd 4 setting O_NONBLOCK
debug2: fd 5 setting O_NONBLOCK
debug1: channel 0: new [client-session]
debug3: ssh_session2_open: channel_new: 0
debug2: channel 0: send open
debug1: Entering interactive session.
debug2: callback start
debug2: client_session2_setup: id 0
debug1: Sending environment.
debug3: Ignored env TERM
debug3: Ignored env SHELL
debug3: Ignored env SSH_CLIENT
debug3: Ignored env SSH_TTY
debug3: Ignored env USER
debug3: Ignored env LS_COLORS
debug3: Ignored env SSH_AUTH_SOCK
debug3: Ignored env MAIL
debug3: Ignored env PATH
debug3: Ignored env PWD
debug1: Sending env LANG = en_US.UTF-8
debug2: channel 0: request env confirm 0
debug3: Ignored env SVN_SSH
debug3: Ignored env HISTCONTROL
debug3: Ignored env SHLVL
debug3: Ignored env HOME
debug3: Ignored env LOGNAME
debug3: Ignored env SSH_CONNECTION
debug3: Ignored env LESSOPEN
debug3: Ignored env DISPLAY
debug3: Ignored env LESSCLOSE
debug3: Ignored env _
debug1: Sending command: ssh localhost svnserve -t
debug2: channel 0: request exec confirm 1
debug2: fd 3 setting TCP_NODELAY
debug2: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
debug2: channel 0: rcvd adjust 131072
debug2: channel_input_confirm: type 99 id 0
debug2: exec request accepted on channel 0
debug2: channel 0: rcvd ext data 31
Host key verification failed.
debug2: channel 0: written 31 to efd 6
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug2: channel 0: rcvd eof
debug2: channel 0: output open -> drain
debug2: channel 0: obuf empty
debug2: channel 0: close_write
debug2: channel 0: output drain -> closed
debug2: channel 0: rcvd close
debug2: channel 0: close_read
debug2: channel 0: input open -> closed
debug3: channel 0: will not send data after close
debug2: channel 0: almost dead
debug2: channel 0: gc: notify user
debug2: channel 0: gc: user detached
debug2: channel 0: send close
debug2: channel 0: is dead
debug2: channel 0: garbage collecting
debug1: channel 0: free: client-session, nchannels 1
debug3: channel 0: status: The following connections are open:
#0 client-session (t4 r0 i3/0 o3/0 fd -1/-1 cfd -1)

debug3: channel 0: close_fds r -1 w -1 e 6 c -1
debug1: fd 0 clearing O_NONBLOCK
debug1: fd 1 clearing O_NONBLOCK
Transferred: sent 1792, received 1768 bytes, in 0.1 seconds
Bytes per second: sent 12632.3, received 12463.2
debug1: Exit status 255
svn: Connection closed unexpectedly

oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim

Re: svn+ssh funktioniert nicht

Post by oxygen »

Das ist zwar generell keine gute Idee aber versuch doch mal mit -o "StrictHostKeyChecking=no"

schoeppchen
Posts: 27
Joined: 2006-06-11 09:51

Re: svn+ssh funktioniert nicht

Post by schoeppchen »

Leider nein, zumindest wenn ich das korrekt auf dem Client (192.168.0.99) gesetzt habe:

Code: Select all

@lxtest1mz:~$ export SVN_SSH="ssh 192.168.0.201 -p 22 -l svn_pm -o 'StrictHostKeyChecking=no' ssh"
@lxtest1mz:~$ svn info svn+ssh://localhost/
Password:
Host key verification failed.
svn: Connection closed unexpectedly

oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim

Re: svn+ssh funktioniert nicht

Post by oxygen »

schoeppchen wrote:Leider nein, zumindest wenn ich das korrekt auf dem Client (192.168.0.99) gesetzt habe
Ich weiß nicht ob das so korrekt ist. Im zweifel halt in der ssh.conf (nicht sshd.conf) hinzufügen.

schoeppchen
Posts: 27
Joined: 2006-06-11 09:51

Re: svn+ssh funktioniert nicht

Post by schoeppchen »

So geht es bei mir leider überhaupt nicht :(

Code: Select all

$ export SVN_SSH="ssh 192.168.0.201 -l svn_pm ssh"
$ svn info svn+ssh://var/lib/subversion
Password:
ssh: var: Name or service not known
svn: Connection closed unexpectedly

schoeppchen
Posts: 27
Joined: 2006-06-11 09:51

Re: svn+ssh funktioniert nicht

Post by schoeppchen »

Ok, anscheinend macht also -l #nutzer# und #nutzer@# einen Unterschied?

Nun erhalte ich folgenden Fehler:

Code: Select all

$ export SVN_SSH="ssh svn_pm@192.168.0.201"
$ svn info svn+ssh:///var/lib/subversion
Password:
bash: svnserve: command not found
svn: Connection closed unexpectedly
Wenn ich per SSH mit dem Nutzer svn_pm auf 192.168.0.201 gehe und ein "which svnserve" eingebe erhalte ich ohne Probleme eine Binary.

schoeppchen
Posts: 27
Joined: 2006-06-11 09:51

Re: svn+ssh funktioniert nicht

Post by schoeppchen »

Ok, hatte ich übersehen, ändert aber auch nichts am Fehler:

Code: Select all

$ svn info svn+ssh:///var/lib/subversion/PM_RELAUNCH
Password:
bash: svnserve: command not found
svn: Connection closed unexpectedly
Das Repository heißt PM_RELAUNCH und ist valide.

schoeppchen
Posts: 27
Joined: 2006-06-11 09:51

Re: svn+ssh funktioniert nicht

Post by schoeppchen »

matzewe01 wrote:Subversion wurde auf dem Quellserver installiert,
svnserver ist beim Benutzer im PATH, und er darf es auch ausführen?
which svnserver
Ja, Subversion ist auf beiden installiert und über den Pfad des jeweiligen Nutzers verfügbar

schoeppchen
Posts: 27
Joined: 2006-06-11 09:51

Re: svn+ssh funktioniert nicht

Post by schoeppchen »

Ok, ich bin noch mal in mich gegangen und habe das svnserve Kommando in /usr/bin verlinkt (auch wenn der Pfad wo eigentlich die Binary liegt für den Nutzer auch erreichbar ist - getestet mit "which").

Seitdem klappt es nun und ich kann per SSH verbindung darauf zugreifen, zumindest wenn ich es intern abbilde. Hierfür schon mal vielen Dank!

Extern habe ich nun folgenden Fehler - ich kann mir aber auch vorstellen, dass das an FreeBSD liegt:

Code: Select all

%set SVN_SSH="ssh svn_pm@xxx.xxx.xxx.xxx -p 23690"
%svn info svn+ssh:///var/lib/subversion/NIDAG_TEST
ssh: : hostname nor servname provided, or not known
svn: Connection closed unexpectedly
Der Zugriff per SSH direkt (ssh svn_pm@xxx.xxx.xxx.xxx -p 23690) funktioniert und ich kann mich am System anmelden.

Irgendeine Idee? ;)