ssh nur für forwarding
ssh nur für forwarding
Ich möchte je nach User die Shell bei SSH-Anmeldung (OpenSSHd) verbieten; so dass nur Port-forwarding ermöglicht wird. Wie krieg ich das hin? Habe leider nichts gefunden...
- Adrian
- Adrian
-
- Beiträge: 152
- Registriert: 01.04.2004 10:09:25
-
Kontaktdaten:
hmm, ich muss glatt zugeben, dass ich nicht recht weiss, wie für einen Benutzer eine andere Shell aktivieren. Hat das was mit der Datei .bashrc zu tun, die in dem home-Ordner platziert ist?
Naja, werde mal weiterschauen. Dein Tipp verrät mir immerhin, dass ich nicht weiter bei den SSH-Server Einstellungen suchen muss, sondern bei der Benutzerkonfiguration selber. - Vielen Dank schon mal!
- Adrian
Naja, werde mal weiterschauen. Dein Tipp verrät mir immerhin, dass ich nicht weiter bei den SSH-Server Einstellungen suchen muss, sondern bei der Benutzerkonfiguration selber. - Vielen Dank schon mal!
- Adrian
-
- Beiträge: 152
- Registriert: 01.04.2004 10:09:25
-
Kontaktdaten:
Code: Alles auswählen
man usermod
Code: Alles auswählen
kuser
Code: Alles auswählen
vi /etc/passwd
ah, danke! ich habe mal die rbash eingetragen, und siehe da, man hat nur noch eine eingeschränkte shell.
Damit man *gar nichts* machen kann (also eine noch viel viel eingeschränktere Shell als rbash): muss ich mir da ein eigenes kleines Progrämmchen schreiben, das einfach nur beendet werden kann und einem ausloggt und sonst gar nichts macht? oder gibts da was spezielles dazu?
- Adrian
Damit man *gar nichts* machen kann (also eine noch viel viel eingeschränktere Shell als rbash): muss ich mir da ein eigenes kleines Progrämmchen schreiben, das einfach nur beendet werden kann und einem ausloggt und sonst gar nichts macht? oder gibts da was spezielles dazu?
- Adrian
- Savar
- Beiträge: 7174
- Registriert: 30.07.2004 09:28:58
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Berlin
Code: Alles auswählen
/bin/false
- Savar
- Beiträge: 7174
- Registriert: 30.07.2004 09:28:58
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Berlin
weiß nicht obs klappt.. aber versuchs doch mit
da kann er toll schreiben und nach dem enter ists vorbei
Code: Alles auswählen
/bin/echo
mit
gehts nicht, weil echo einfach gleich beendet wird.
Nun habe ich aber noch eine ganz andere Möglichkeit entdeckt, mein Ziel zu erlangen:
Mit Public-Keys und der Datei
Dort kann man schön Benutzer-gezielt die Shell ausschalten und sogar angeben, welcher Port an welchen Host forwardet werden darf. Das ist genau das, was ich suchte!!
- Adrian
Code: Alles auswählen
/bin/echo
Nun habe ich aber noch eine ganz andere Möglichkeit entdeckt, mein Ziel zu erlangen:
Mit Public-Keys und der Datei
Code: Alles auswählen
$HOME/.ssh/authorized_keys
- Adrian
-
- Beiträge: 152
- Registriert: 01.04.2004 10:09:25
-
Kontaktdaten:
Ich habe es mal getestet. Mit /bin/false in /etc/passwd und ssh -N funktioniert es ohne Probleme.
Die Frage ist nur:
Der Client, der diesen Tunnel aufbauen will, läuft der unter Windows (putty, MIndterm) oder auch unter Linux. Denn bei Windows habe ich noch keine Lösung.
Sollte er unter Linux laufen der Client, so muss sich der Benutzer mit:
ssh -N -L 1234:zielsystem:5678 benutzer@server
mit
1234: lokaler Port
5678: Zielport
anmelden.
Die Frage ist nur:
Der Client, der diesen Tunnel aufbauen will, läuft der unter Windows (putty, MIndterm) oder auch unter Linux. Denn bei Windows habe ich noch keine Lösung.
Sollte er unter Linux laufen der Client, so muss sich der Benutzer mit:
ssh -N -L 1234:zielsystem:5678 benutzer@server
mit
1234: lokaler Port
5678: Zielport
anmelden.
Also, Putty selbst geht fuer reine Tunnels nicht, aber ich glaube, da gabs das Tool plink fuer, auch von der Putty Homepage. Kannst dir ja mal http://the.earth.li/~sgtatham/putty/0.5 ... html#plink durchlesen. Eventuell is das, was du suchst
Es funktioniert mit plink:
http://the.earth.li/~sgtatham/putty/lat ... /plink.exe
Aufruf: plink -N -L localport:remotesystem:remoteport server
localport: Port auf localhost (z.B. Windows-System)
remotesystem: Zielsystem, gesehen vom Server
remoteport: Remoteport, gesehen vom Server
server: der Linux-Server mit dem Benutzer (/bin/false als Shell)
getestet als plink -N -L 2222:localhost:22 servername
http://the.earth.li/~sgtatham/putty/lat ... /plink.exe
Aufruf: plink -N -L localport:remotesystem:remoteport server
localport: Port auf localhost (z.B. Windows-System)
remotesystem: Zielsystem, gesehen vom Server
remoteport: Remoteport, gesehen vom Server
server: der Linux-Server mit dem Benutzer (/bin/false als Shell)
getestet als plink -N -L 2222:localhost:22 servername