ssh nur für forwarding

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Benutzeravatar
badera
Beiträge: 643
Registriert: 20.05.2004 20:01:50
Wohnort: Schweiz

ssh nur für forwarding

Beitrag von badera » 25.03.2005 14:29:17

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

stargaizer
Beiträge: 152
Registriert: 01.04.2004 10:09:25
Kontaktdaten:

Beitrag von stargaizer » 25.03.2005 23:27:14

Versuch's doch mal mit einer anderen Loginshell als /bin/bash, bei dem User der nix dürfen soll.

stargaizer

Benutzeravatar
badera
Beiträge: 643
Registriert: 20.05.2004 20:01:50
Wohnort: Schweiz

Beitrag von badera » 26.03.2005 21:44:01

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

stargaizer
Beiträge: 152
Registriert: 01.04.2004 10:09:25
Kontaktdaten:

Beitrag von stargaizer » 27.03.2005 13:50:53

Code: Alles auswählen

man usermod
oder mit

Code: Alles auswählen

kuser
wenn's clickie bunti sein soll oder halt direkt

Code: Alles auswählen

vi /etc/passwd
editieren.

Benutzeravatar
badera
Beiträge: 643
Registriert: 20.05.2004 20:01:50
Wohnort: Schweiz

Beitrag von badera » 29.03.2005 10:00:11

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

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 29.03.2005 10:44:11

Code: Alles auswählen

/bin/false
:-)
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Benutzeravatar
badera
Beiträge: 643
Registriert: 20.05.2004 20:01:50
Wohnort: Schweiz

Beitrag von badera » 29.03.2005 10:54:31

ne, das hab ich zuerst auch gedacht. Aber dann wird man gleich rausgeschmissen. Ist ja aber nicht das Ziel, da Port-Forwarding aktiv sein sollte; jedoch einfach ohne Shell.
- Adrian

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 29.03.2005 10:59:02

weiß nicht obs klappt.. aber versuchs doch mit

Code: Alles auswählen

/bin/echo
da kann er toll schreiben und nach dem enter ists vorbei
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Benutzeravatar
badera
Beiträge: 643
Registriert: 20.05.2004 20:01:50
Wohnort: Schweiz

Beitrag von badera » 29.03.2005 11:03:32

ah, genau, gute Idee, versuch ich gleich!
- Adrian

Benutzeravatar
badera
Beiträge: 643
Registriert: 20.05.2004 20:01:50
Wohnort: Schweiz

Beitrag von badera » 29.03.2005 22:47:01

mit

Code: Alles auswählen

/bin/echo
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

Code: Alles auswählen

$HOME/.ssh/authorized_keys
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

stargaizer
Beiträge: 152
Registriert: 01.04.2004 10:09:25
Kontaktdaten:

Beitrag von stargaizer » 30.03.2005 09:37:23

Da fällt mir noch

Code: Alles auswählen

ssh -N ....
ein.

stargaizer

Benutzeravatar
d4rkm3n
Beiträge: 159
Registriert: 07.05.2005 14:36:43

Beitrag von d4rkm3n » 07.11.2005 20:03:12

wo muss ich

Code: Alles auswählen

ssh -N
hinschreiben

nil
Beiträge: 989
Registriert: 08.06.2005 13:28:36

Beitrag von nil » 08.11.2005 09:38:00

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.

Benutzeravatar
d4rkm3n
Beiträge: 159
Registriert: 07.05.2005 14:36:43

Beitrag von d4rkm3n » 08.11.2005 17:15:25

tja... ich versuche es ja mit einem windows client. aber wenn man die genannten dinge ausprobiert, muss man festellen ,dass die shell sie automatisch schließt
(ich verwende putty)

nil
Beiträge: 989
Registriert: 08.06.2005 13:28:36

Beitrag von nil » 09.11.2005 08:39:35

Klar, da /bin/false keine wirkliche Shell ist und wohl putty nicht ohne Shell geht. Naja, Windows ist wohl nicht für SSH gemacht. Auch bei Mindterm habe ich keine Lösung gefunden. Da bleibt dann wohl nur eine normale Restricted-Shell.

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 09.11.2005 10:10:09

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 ;)

nil
Beiträge: 989
Registriert: 08.06.2005 13:28:36

Beitrag von nil » 09.11.2005 10:46:39

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

Antworten