SSH: RemotePortForw. - Privilegierter Port binden

SSH: RemotePortForw. - Privilegierter Port binden

sehr kurze und grundlegende Frage, ich habe Probleme mit den Hausaufgaben zu einem Netzwerk. Dies ist der Punkt, den ich implementieren soll:

  • Konfigurieren Sie die SSH-Remote-Portweiterleitung, um Port 83 von PC1 auf Port 8000 von S1 umzuleiten.

Dazu habe ich ein einfaches

s1:~# ssh -o StrictHostKeyChecking=no -NR 83:127.0.0.1:8000 [email protected] &

Wobei 10.0.1.2 die IP von PC1 ist, ich erhalte jedoch jedes Mal als Rückgabe die Warnung:

Warnung: Remote Port Forwarding ist für Abhörport 83 fehlgeschlagen

Bei mir läuft nichts, was bereits Port 83 nutzt, aber auch wenn ich lokal (von PC1) versuche, auf Port 83 zu lauschen, ist das problemlos möglich.

Hinweis: Ich erhalte diesen Fehler von allen privilegierten Ports, die ich zu binden versuche.

Antwort1

Um Ports unter 1024 zu binden, müssen Sie entweder Root sein oder über die CAP_NET_BIND_SERVICEentsprechende Berechtigung verfügen. Führen Sie dazu Folgendes aus:

 sudo -E -- setpriv --inh-caps +net_bind_service --ambient-caps +net_bind_service --reuid $USERNAME /bin/bash

Dadurch wird das Dienstprogramm als Root ausgeführt setpriv, wodurch Sie zu Ihrem zurückkehren , aber die Funktion uidhinzufügen .CAP_NET_BIND_SERVICE

Antwort2

Sie müssen Root auf PC1, auch bekannt als 10.0.1.2, sein, um Ports kleiner als 1024 statt ssh_user umzuleiten.

Da Sie Port 83 binden können, wenn Sie bei PC1 angemeldet sind (vermutlich als Root), ist es möglicherweise einfacher, von PC1 aus zu starten und per SSH auf S1 zuzugreifen. Verwenden Sie „-L“, um Port 83 lokal zu binden, statt „-R“.

verwandte Informationen