ssh - nur Portforwarding zulassen?
Hallo zusammen, ich würde gerne einem bestimmten ssh-Schlüssel nur erlauben, ein Port-Forwarding einzurichten. Ziel ist es, einem externen Dienstleister einen ssh-Key geben zu können, mit dem er dann ausschließlich einen Tunnel zu einer ganz bestimmten Maschine im LAN aufbauen kann, um diese zu warten. Jetzt kann man bestimmten Keys einzelne Commands zuordnen. Aber kann man die Rechte eines Keys auch auf den Aufbau eines bestimmten Portforwardings beschränken? Wenn ja, wie geht das? Danke+Gruß. -- Andre Tann -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Samstag, 1. März 2008 14:30:06 schrieb Andre Tann:
Hallo zusammen,
Hallo zurück Den Port für den externen Zugriff nicht auf 22 zu legen und anschließend im Router per NAT den Zugriff auf den Port 22 des zu wartenden Rechners zu legen ist nicht die Lösung die Du Dir vorstellst, oder ?? Gruß Karl -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
* Samstag, 01. März 2008 um 14:30 (+0100) schrieb Andre Tann:
ich würde gerne einem bestimmten ssh-Schlüssel nur erlauben, ein Port-Forwarding einzurichten. Ziel ist es, einem externen Dienstleister einen ssh-Key geben zu können, mit dem er dann ausschließlich einen Tunnel zu einer ganz bestimmten Maschine im LAN aufbauen kann, um diese zu warten.
Jetzt kann man bestimmten Keys einzelne Commands zuordnen. Aber kann man die Rechte eines Keys auch auf den Aufbau eines bestimmten Portforwardings beschränken? Wenn ja, wie geht das?
'permitopen="<Server>:<Port>' (ggfs. zusammen mit "no-pty") in die Key-Zeile von "~/.ssh/authorized_keys". Gruß Andreas -- XMMS spielt gerade "The Who - The Song is Over"... GPG-ID/Fingerprint: 6F28CF96/0B3B C287 30CE 21DF F37A AF63 A46C D899 6F28 CF96 GPG-Key on request or on public keyservers -- -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Andreas Koenecke, Samstag, 1. März 2008 15:59:
'permitopen="<Server>:<Port>' (ggfs. zusammen mit "no-pty") in die Key-Zeile von "~/.ssh/authorized_keys".
Sehr fein, genau das was ich brauche. Danke+Gruß. -- Andre Tann -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Andreas Koenecke, Samstag, 1. März 2008 15:59:
'permitopen="<Server>:<Port>' (ggfs. zusammen mit "no-pty") in die Key-Zeile von "~/.ssh/authorized_keys".
Also als Ergänzung noch für die Akten: Das ganze brauchte ich, um ein Portforwarding von außen zuzulassen mit dem Ziel, einen Rechner innen per rdp zu steuern. Also: Windows-Kiste sitzt außen, Putty stellt das Portforwarding via Linux-SSH-Server her, und schon kann man eine Kiste innen im LAN steuern. Soweit die Theorie, in der Praxis funktioniert das aber aus folgendem Grund nicht: Sagt man dem mstsc (also dem Remotedesktop-Client), er möge sich auf localhost verbinden, dann verweigert er dies mit der Fehlermeldung: Der Client konnte keine Verbindung herstellen. Es besteht bereits eine Verbindung mit der Computerkonsole. Es wird keine neue Konsolensitzung erstellt. Auch eine Verbindung auf die IP-Adresse, auf den DNS-Namen oder auf 127.0.0.1 wird aus demselben Grund abgelehnt. Google erbrachte den Hinweis, man sollte den mstsc im Windows98-Kompatibilitätsmodus starten. Das funktionierte bei mir aber aus unbekannten Gründen nicht. Die Lösung ist folgende: Eine Verbindung des mstsc auf 127.0.0.2 wird akzeptiert, und das Portforwarding kann genutzt werden. Da ich diese Lösung nicht im Netz finden konnte, schreibe ich das hier mal auf, auch wenn es nicht so allzu viel mit Linux zu tun hat. Vielleicht hilfts ja mal wem. -- Andre Tann -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Andre Tann schrieb:
Andreas Koenecke, Samstag, 1. März 2008 15:59:
'permitopen="<Server>:<Port>' (ggfs. zusammen mit "no-pty") in die Key-Zeile von "~/.ssh/authorized_keys".
Also als Ergänzung noch für die Akten:
Das ganze brauchte ich, um ein Portforwarding von außen zuzulassen mit dem Ziel, einen Rechner innen per rdp zu steuern.
Also: Windows-Kiste sitzt außen, Putty stellt das Portforwarding via Linux-SSH-Server her, und schon kann man eine Kiste innen im LAN steuern. Soweit die Theorie, in der Praxis funktioniert das aber aus folgendem Grund nicht:
Sagt man dem mstsc (also dem Remotedesktop-Client), er möge sich auf localhost verbinden, dann verweigert er dies mit der Fehlermeldung:
Der Client konnte keine Verbindung herstellen. Es besteht bereits eine Verbindung mit der Computerkonsole. Es wird keine neue Konsolensitzung erstellt.
Auch eine Verbindung auf die IP-Adresse, auf den DNS-Namen oder auf 127.0.0.1 wird aus demselben Grund abgelehnt. Google erbrachte den Hinweis, man sollte den mstsc im Windows98-Kompatibilitätsmodus starten. Das funktionierte bei mir aber aus unbekannten Gründen nicht.
Die Lösung ist folgende: Eine Verbindung des mstsc auf 127.0.0.2 wird akzeptiert, und das Portforwarding kann genutzt werden.
was mich wundert... 127.0.0.2 heisst auch localhost ?
Da ich diese Lösung nicht im Netz finden konnte, schreibe ich das hier mal auf, auch wenn es nicht so allzu viel mit Linux zu tun hat. Vielleicht hilfts ja mal wem.
hatte hier nie Probleme mit Portforwarding und FQDN ( host.beimt.loc ) bei vielen Sachen soll (!) localhost gar nicht rausdürfen ... dafür gibts "richtige" Namen. Die einfache Idee ... man bindet an einer Karte 2 IP-Adddressen .... eine (nicht routbare) für den externen Zugriff ...eine zwiete (normale) für den Rest z.B. 192.168.200.200 im lokalen 192.168.200.0/Netz und 192.168.249.7 (oder was auch immer) mit 192.168.249.7 als Gateway...für extern... Dabei ist es egal ob der per SSH oder per VPN reinkommt ... external_address:ssh_port1 wird direkt auf 192.168.249.7:ssh_port2 weitergeleitet... Fred -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Fred Ockert, Montag, 3. März 2008 09:29:
was mich wundert... 127.0.0.2 heisst auch localhost ?
127.x.y.z ist immer localhost. -- Andre Tann -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (4)
-
Andre Tann
-
Andreas Koenecke
-
Fred Ockert
-
Karl Kehlenbrink