SSH über den Proxy
Wenn die Firewall dies zulässt, können Sie ssh an jedem beliebigen Port ausführen. Voraussetzung ist jedoch, dass der ssh-Server diesen Port überwacht. Es ist unwahrscheinlich, dass Port 80 funktioniert, da die meisten Orte mit Firewalls den Datenverkehr auf diesem Port analysieren und alles blockieren, was nicht HTTP ist. Port 443, normalerweise der HTTPS-Port, funktioniert jedoch häufig, da SSH und HTTPS für das Filtern von Software sehr ähnlich sind, sodass Ihre SSH-Sitzung wie eine HTTPS-Sitzung aussieht. (Es ist möglich, HTTPS und SSH zu unterscheiden. Dies funktioniert also nicht, wenn die Firewall hoch genug ist.)
Wenn Sie die Kontrolle über den Server haben, lassen Sie ihn zusätzlich zu 22 (dem normalen SSH-Port) den Port 443 überwachen. Sie können den Port folgendermaßen konfigurieren /etc/ssh/sshd_config
: Fügen Sie eine Leitung hinzu
Port 443
dazu Port 22
sollte das schon da sein. Beachten Sie, dass dies voraussetzt, dass der SSH-Server kein HTTPS-Server ist. Wenn dies der Fall ist, müssen Sie einen anderen Port suchen, den die Firewall verwendet, oder Sie müssen einen anderen SSH-Server suchen (siehe Weiterleitung unten).
Wenn Sie in Ihrem Webbrowser keinen Webproxy einrichten müssen, können Sie versuchen, eine direkte Verbindung herzustellen:
ssh -p 443 myserver.example.com
Wenn das funktioniert, definieren Sie einen Alias in Ihrem ~/.ssh/config
:
Host myserver
HostName myserver.example.com
Port 443
Wenn Sie in Ihrem Webbrowser einen Webproxy einrichten müssen, weisen Sie ssh an, den Proxy zu durchlaufen. Installieren Sie den Korkenzieher . Definieren Sie einen Alias wie diesen in Ihrem ~/.ssh/config
, wo http://proxy.acme.com:3128/
ist der Proxy, den Sie für HTTPS verwenden, nach außen (ersetzen Sie ihn durch den richtigen Hostnamen und Port):
Host myserver
HostName myserver.example.com
Port 443
ProxyCommand /usr/bin/corkscrew proxy.acme.com 3128 %h %p
SSH über SSH
Wenn Sie mit einer der oben beschriebenen Methoden zu einem externen Computer gelangen können, jedoch nicht zu dem Computer, an dem Sie interessiert sind, leiten Sie eine Verbindung weiter. Angenommen, Sie können ssh auf einen Computer mit dem Namen mygateway
und Sie möchten den SSH-Server erreichen mytarget
, installieren Sie netcat-openbsd auf mygateway
(oder stellen Sie sicher, dass er den nc
Befehl hat, wenn Ubuntu nicht ausgeführt wird ). Fügen Sie dies in Ihre ~/.ssh/config
:
Host mytarget
ProxyCommand ssh mygateway nc %h %p
SSH zu Apache
Wenn der Host, zu dem Sie eine Verbindung herstellen möchten, bereits Apache ausführt und Port 443 überwacht und Sie die Kontrolle über diesen Host haben, können Sie diesen Apache so einrichten, dass er SSH-Verbindungen akzeptiert und weiterleitet. Siehe Tunneln von SSH über HTTP (S) .
man ssh
deckt port: host: hostport auf. Also versuchen Sie esssh 80:server.com
oder so.