SSH durch HTTP Proxy und Firewall

Wer nur durch einen HTTP Proxy Server in das Internet kommt, hat ein Problem mit SSH Verbindungen.

Durch einen kleinen Trick kann man sich trozdem verbinden. Man ändern der Port vom SSH Server von Port 22 auf 443. Der Port 443 ist für SSL Verbindungen reserviert und wird vom Proxy Server ohne Prüfung durchgelassen.

Den Port kann man am SSH-Server ändern oder am Router die NAT Einstellung.

Jetzt wird Port 22 und 443 für SSH verwendet.

sudo vim /etc/ssh/sshd_config

Port 22
Port 443

Einen Neustart von Dienst nicht vergessen.

sudo service ssh restart

Wenn man sich jetzt mit dem SSH Client verbindet, so gibt man den Proxy Server und den SSH Server an. Will man seinen Traffik über die SSH Verbindung tunnel, so kann man SOCKS5 (Port 1080) verwenden.

sudo vim ~/.ssh/config

Host *
  ProxyCommand corkscrew proxy.hostname.de 8080 %h %p ~/.ssh/proxyauth

Wenn der Proxy Server ein Login und Passwort benötigt, dann hinterlegen Sie es im Benutzerverzeichnis.

echo „login:password“ > ~/.ssh/proxyauth

Jetzt können Sie die Verbindung mit SSH von Client durch den Proxy zum SSH Server via Port 443 auf bauen.

$ ssh -D 1080 user@domain.de -p 443

Mit einem Browser (Firefox,Chrome,etc.) können Sie den Tunnel via SOCKS5 Port 1080 verwenden und kommen so in das Internet. Ein Test mit der Seite http://www.netip.de/ zeigt Ihnen die Remote Adresse an. Die IP Adresse sollte jetzt dem SSH Server entsprechen.

Das Betriebsystem Microsoft Windows enthält keinen SSH Client. Ein kostenloser SSH Client ist PuTTY. Die Einstellungen für PuTTY lauten.

    Session

  • Host Name: domain.de
  • Port: 443
    Connection / Proxy

  • Proxy hostname: proxy.hostname.de
  • Port: 8080
  • Username: login
  • Password: password
    Connection / SSH / Tunnels

  • Source por: 1080
  • Destination: Dynamic / Auto

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.