Zugang zu CVS per SSH aber Zugang zu SSH-Console verweigern

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Tyvan
Beiträge: 9
Registriert: 11.11.2008 20:19:56

Zugang zu CVS per SSH aber Zugang zu SSH-Console verweigern

Beitrag von Tyvan » 11.11.2008 20:34:16

Hi,

ich habe mir einen CVS Server unter Debian 4.0 eingerichtet.
Habe auch einen user mit "useradd John" eingerichtet.
Mein CVS Server läuft mit dem User cvs und der Gruppe cvs.
Habe den User "John" in die Gruppe cvs getan und kann nun ohne Probleme in Eclipse mit der EXTSSH Methode einfach zugreifen.

Nun habe ich aber 2 Probleme.

1. Wie kann ich verhindern das der User "John" eine SSH Verbindung zur Konsole aufbaut, z.B. mit Putty oder über eine Shell in Linux. Dabei sollte aber dennoch die sichere (verschlüsselte) Verbindung zu CVS funktionieren.

2. Wie kann ich dem User "John" nur Zugriff zu Projekt1 im CVS Repository gewähren, aber zu allen anderen Projekten nicht? Ich will auch nicht das er sie sehen kann, wenn er z.B. die Modulliste in Eclipse aufruft in der das gesamte Repository aufgelistet wird.

Wäre für Hilfe dankbar. Geht im Grunde nur ums gute absichern.

Grüße

Benutzeravatar
habakug
Moderator
Beiträge: 4314
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: Zugang zu CVS per SSH aber Zugang zu SSH-Console verweigern

Beitrag von habakug » 11.11.2008 21:24:26

Hallo!

Hier [1] lesen und vor allem die "man authorized_keys".

Gruß, habakug

[1] http://www.jfranken.de/homepages/johann ... .html#ToC8
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

Tyvan
Beiträge: 9
Registriert: 11.11.2008 20:19:56

Re: Zugang zu CVS per SSH aber Zugang zu SSH-Console verweigern

Beitrag von Tyvan » 11.11.2008 23:37:43

:-(

Hilft alles nix.

Meine Frage ist dabei wohin mit dem Public Key String auf dem Server? CVS läuft unter /home/cvs/.
Also unter /home/cvs/.ssh/authorized_keys?
Habe auch den SSH Server in der config auf /home/cvs/.ssh/authorized_keys gesetzt.

Ich glaube die Verbindung wird immer verweigert. Die Tutorials sind da immer nur teilweise. Keine komplette Beschreibung.

Muss ich z.B. einen Benutzer auf dem CVS Server erstellen? Wenn ja, mit welcher Bash? /sbin/nologin? bin/bash soll ja nicht, sonst kann er sich ja einloggen.

Benutzeravatar
habakug
Moderator
Beiträge: 4314
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: Zugang zu CVS per SSH aber Zugang zu SSH-Console verweigern

Beitrag von habakug » 11.11.2008 23:54:52

Hallo!

Vielleicht liest du nochmal die Manpage von ssh-copy-id.

Gruß, habakug
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

Tyvan
Beiträge: 9
Registriert: 11.11.2008 20:19:56

Re: Zugang zu CVS per SSH aber Zugang zu SSH-Console verweigern

Beitrag von Tyvan » 12.11.2008 01:21:07

Yeah, funzt.


Eine Sache nur noch.

Wie kann ich einen bestimmten User Zugang nur zu EINEM Projekt im CVS Repos geben?

Habe z.B. Projekt 1, 2 und 3 drin. Will aber User "John" nur Zugriff auf Projekt 1 geben. Er soll dabei die anderen Projekte noch nicht einmal in der Liste sehen können.
Weisste da Bescheid habakug. Danke für die Infos. :-D

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Re: Zugang zu CVS per SSH aber Zugang zu SSH-Console verweigern

Beitrag von roli » 12.11.2008 08:59:13

Hi,

probier mal ob es hilft wenn du dem User John /bin/false als Loginshell gibst.
Roland


"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"

Tyvan
Beiträge: 9
Registriert: 11.11.2008 20:19:56

Re: Zugang zu CVS per SSH aber Zugang zu SSH-Console verweigern

Beitrag von Tyvan » 12.11.2008 10:08:22

Hi,

wenn ich auf /bin/false umstelle dann geht der komplette Zugang zur CVS weg, da ja die Verbindung über SSH läuft.
Und es geht mir nur darum einem Benutzer den Zugang zu einigen Projekten komplett zu verweigern und z.B. nur zu einem zu gewähren.

Ich habe herausgefunden das man in der CVSROOT die Datei avail erstellen soll. Habe mal testweise nur die Zeile "unavail" (CVS komplett sperren für alle) eingetragen.
Aber das hilft nix. Komme mit meinem Benutzernamen überall rein in der Repository.

Tyvan
Beiträge: 9
Registriert: 11.11.2008 20:19:56

Re: Zugang zu CVS per SSH aber Zugang zu SSH-Console verweigern

Beitrag von Tyvan » 12.11.2008 11:52:37

Hm, anscheinend geht sowas nicht. Mit dieser avail Variante kann man nur Schreibrechte einschränken, aber ein CVS User kann immer auf ein ganzes Repos zugreifen. :(


Musste also meine Projekte in verschiedene Repositories verteilen und einfach nur die Repositories geheimhalten. Toll. :x

uname
Beiträge: 12480
Registriert: 03.06.2008 09:33:02

Re: Zugang zu CVS per SSH aber Zugang zu SSH-Console verweigern

Beitrag von uname » 12.11.2008 13:27:08

CVS nutze ich nicht. Aber du kannst in ~/ssh/authorized_keys mit dem Kommando "command=..." festlegen, welchen Befehl ein Benutzer über den SSH-Key ausführen darf. Wähle den Befehl entsprechend restriktiv.

Tyvan
Beiträge: 9
Registriert: 11.11.2008 20:19:56

Re: Zugang zu CVS per SSH aber Zugang zu SSH-Console verweigern

Beitrag von Tyvan » 15.11.2008 12:23:38

Hm,

also momentan habe ich in der Command command="/usr/local/bin/cvs server".
Keine Ahnung warum dieses "server" da stehen muss.

Aber wie kann ich z.B. festlegen das User John nur das Projekt "module1" checkout und commit machen kann?

Wäre das dann so? --> command="/usr/local/bin/cvs checkout module1", command="/usr/local/bin/cvs commit module1"
Oder sollte alles in einer Command mit Komma getrennt stehen. Wie muss das aussehen?

Ich frage lieber bevor ich Stunden mit durchtesten verliere.

Danke für die Infos.

Cologne4711
Beiträge: 260
Registriert: 04.12.2006 11:37:59

Re: Zugang zu CVS per SSH aber Zugang zu SSH-Console verweigern

Beitrag von Cologne4711 » 19.11.2008 11:25:07

Hallo,

schau dir mal den folgenden Link an.
Da wird eine Skript gestartet. So kannst Du mehrere Befehle erlauben.
https://people.chem.umass.edu/wiki/inde ... ated_Login

MfG

Antworten