SSH tramite il proxy
Se il firewall lo consente, è possibile eseguire ssh su qualsiasi porta, ma ciò richiede che il server ssh sia in ascolto su quella porta. È improbabile che la porta 80 funzioni, perché la maggior parte dei luoghi con firewall analizza il traffico su quella porta e blocca tutto ciò che non è HTTP. Ma la porta 443, che normalmente è la porta HTTPS, spesso funziona, perché SSH e HTTPS si assomigliano molto al software di filtraggio, quindi la tua sessione SSH sembrerà una sessione HTTPS. (È possibile distinguere HTTPS e SSH, quindi non funzionerà se il firewall è abbastanza sofisticato.)
Se hai il controllo sul server, fallo ascoltare sulla porta 443 oltre alla 22 (la normale porta ssh). Puoi configurare la porta in /etc/ssh/sshd_config
: aggiungi una linea
Port 443
oltre a Port 22
quello dovrebbe già essere lì. Si noti che ciò presuppone che il server SSH non sia anche un server HTTPS. In tal caso, dovrai trovare un'altra porta che il firewall ti consente di utilizzare o per trovare un altro server SSH (vedi inoltro di seguito).
Se non è necessario impostare un proxy Web nel browser Web, è possibile provare a connettersi direttamente:
ssh -p 443 myserver.example.com
Se funziona, definisci un alias nel tuo ~/.ssh/config
:
Host myserver
HostName myserver.example.com
Port 443
Se è necessario impostare un proxy Web nel browser Web, indicare a ssh di passare attraverso il proxy. Installare il cavatappi . Definisci un alias come questo nel tuo ~/.ssh/config
, dove si http://proxy.acme.com:3128/
trova il proxy che usi per HTTPS all'esterno (sostituisci con il nome host e la porta appropriati):
Host myserver
HostName myserver.example.com
Port 443
ProxyCommand /usr/bin/corkscrew proxy.acme.com 3128 %h %p
SSH su SSH
Se riesci ad accedere a una macchina esterna con una delle tecniche sopra ma non alla macchina a cui sei interessato, usalo per inoltrare una connessione. Supponendo che tu possa usare ssh su una macchina chiamata mygateway
e vuoi raggiungere il server SSH mytarget
, installare netcat-openbsd su mygateway
(o, se non sta eseguendo Ubuntu, assicurati che abbia il nc
comando). Metti questo nel tuo ~/.ssh/config
:
Host mytarget
ProxyCommand ssh mygateway nc %h %p
SSH ad Apache
Se l'host a cui si desidera connettersi sta già eseguendo Apache e in ascolto sulla porta 443 e si ha il controllo su tale host, è possibile configurare questo Apache per accettare le connessioni SSH e inoltrarle. Vedi Tunneling SSH su HTTP (S) .
man ssh
rivela port: host: hostport. Quindi provassh 80:server.com
così.