Zugang zu CVS per SSH aber Zugang zu SSH-Console verweigern
Zugang zu CVS per SSH aber Zugang zu SSH-Console verweigern
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
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
- 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
Hallo!
Hier [1] lesen und vor allem die "man authorized_keys".
Gruß, habakug
[1] http://www.jfranken.de/homepages/johann ... .html#ToC8
Hier [1] lesen und vor allem die "man authorized_keys".
Gruß, habakug
[1] http://www.jfranken.de/homepages/johann ... .html#ToC8
Re: Zugang zu CVS per SSH aber Zugang zu SSH-Console verweigern
![traurig :-(](./images/smilies/icon_sad.gif)
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.
- 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
Hallo!
Vielleicht liest du nochmal die Manpage von ssh-copy-id.
Gruß, habakug
Vielleicht liest du nochmal die Manpage von ssh-copy-id.
Gruß, habakug
Re: Zugang zu CVS per SSH aber Zugang zu SSH-Console verweigern
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.![Very Happy :-D](./images/smilies/icon_biggrin.gif)
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.
![Very Happy :-D](./images/smilies/icon_biggrin.gif)
Re: Zugang zu CVS per SSH aber Zugang zu SSH-Console verweigern
Hi,
probier mal ob es hilft wenn du dem User John /bin/false als Loginshell gibst.
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"
"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"
Re: Zugang zu CVS per SSH aber Zugang zu SSH-Console verweigern
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.
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.
Re: Zugang zu CVS per SSH aber Zugang zu SSH-Console verweigern
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.![Mad :x](./images/smilies/icon_mad.gif)
![traurig :(](./images/smilies/icon_sad.gif)
Musste also meine Projekte in verschiedene Repositories verteilen und einfach nur die Repositories geheimhalten. Toll.
![Mad :x](./images/smilies/icon_mad.gif)
Re: Zugang zu CVS per SSH aber Zugang zu SSH-Console verweigern
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.
Re: Zugang zu CVS per SSH aber Zugang zu SSH-Console verweigern
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.
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.
-
- Beiträge: 260
- Registriert: 04.12.2006 11:37:59
Re: Zugang zu CVS per SSH aber Zugang zu SSH-Console verweigern
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
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