bigbalu
Goto Top

SVN über SSH aber ohne Shell Zugriff

Wir nach außen Subversion anbieten. Alles läuft über einen SSH Tunnel zu uns ins LAN (noch)

Also mein Problem ist folgendes. Ich will SVN über einen SSH Tunnel nach außen anbieten. Aktuell haben wir einen Ubuntu Server 10.04 laufen. Wenn ich jetzt SVN nach außen anbiete und dem User, welchen ich angelegt habe die Shell /bin/false gebe, funktioniert es nicht. Alles andere wär zu gefährlich wegen der internen Daten. Ich will nur, dass der Kunde sich über den SSH Tunnel auf mein Subversion Repository einloggen kann - nicht mehr nicht weniger.

Bitte helft mir.

Gruß,
BaLu

Content-ID: 173075

Url: https://administrator.de/forum/svn-ueber-ssh-aber-ohne-shell-zugriff-173075.html

Ausgedruckt am: 22.12.2024 um 20:12 Uhr

AxelHahn
AxelHahn 14.09.2011 um 12:53:27 Uhr
Goto Top
Hallo BaLu,

Wenn es um einen reinen SVN-Zugang von aussen geht, kann man Apache mit mod_dav_svn verwenden. Die Authentifizierung und Berechtigung ist Sache von SVN.
Bei SSH müsstest du neben SVN Berechtigungen zudem auch System-User anlegen.

Wenn du bereits mit SSH tunnelst, und du lediglich eine offene SSH Verbindung brauchst:
Lege ein Skript für die Logon-Shell an, das nur wartet:

#/bin/sh
echo Du bist nun mit Server XY verbunden. Return beendet die Verbindung.
read dummy
exit 0

und speichere es auf dem Server - ich sag mal /bin/svntunnel.sh

Diese /bin/svntunnel.sh vergibst du als User-Logon-Shell.

Viele Grüsse
Axel
BigBaLu
BigBaLu 14.09.2011 um 13:22:34 Uhr
Goto Top
Hallo Axel!

Ja aber da ist er ja dann schon auf der Konsole drauf und wartet nur auf enter!

Kann man das nicht so machen dass er gar keine Shell hat? So kann er ja drauf und somit befehle über die Shell schicken! Er soll zwar einen SSH Tunnel aufbauen können, der Zugang zur Konsole soll ihm aber verwährt werden.

Danke,
Balu
AxelHahn
AxelHahn 14.09.2011 um 21:23:59 Uhr
Goto Top
Hallo BaLu,
nein, der SSH-User hat mit obigen Skript eben keinerlei Shellzugriff und hat keinerlei Möglichkeit, auch nur irgendein Kommando abzusetzen. Das Skript wartet nur auf ein Return. Auch wenn er abbricht, z.B. Strg + C, dann wird das Skript beendet und der Tunnel wieder geschlossen.
Viele Grüsse
Axel