J'ai un ordinateur portable client Linux fedora21 derrière un pare-feu d'entreprise (qui laisse passer les ports http et https mais pas ssh 22) et j'ai un serveur Linux fedora21 à la maison derrière mon propre routeur. La navigation avec https fonctionne lorsque je spécifie l'adresse IP publique de mon serveur domestique (car j'ai configuré mon routeur domestique).
Est-il possible de ssh (shell distant) sur mon serveur domestique via le port http / s?
J'ai vu un outil appelé corkscrew
. cela aiderait-il?
opensshd
et httpd
exécutez sur le serveur domestique. Quoi d'autre aurait besoin de configuration?
sshd
http-proxy
MMM
la source
la source
Réponses:
Ce qui est possible dépend de ce que le pare-feu autorise.
Si le pare-feu autorise le trafic arbitraire sur le port 443
Certains pare-feu sont très simples et autorisent tout ce qui est sur le port 443. Si tel est le cas, le moyen le plus simple d’atteindre votre serveur domestique consiste à écouter les connexions SSH sur le port 443. Si votre ordinateur est directement connecté à Internet, ajouter
Port 443
à/etc/ssh/sshd_config
ou/etc/sshd_config
juste en dessous de la ligne qui ditPort 22
. Si votre ordinateur est derrière un routeur / pare-feu qui redirige les connexions entrantes, faites-le rediriger vers le port 443 vers le port 22 de votre serveur avec quelque chose comme:où
wan0
est l'interface WAN sur votre routeur et 10.1.2.3 l'adresse IP de votre serveur sur votre réseau domestique.Si vous souhaitez autoriser votre serveur domestique à écouter à la fois les connexions HTTPS et les connexions SSH sur le port 443, il est possible - le trafic SSH et HTTPS peut facilement être distingué (dans SSH, le serveur parle en premier, tandis que dans HTTP et HTTPS, le client première). Voir http://blog.stalkr.net/2012/02/sshhttps-multiplexing-with-sshttp.html et http://wrouesnel.github.io/articles/Setting%20up%20sshttp/ pour des tutoriels sur la définition de cette avec sshttp et également Have SSH sur le port 80 ou 443 lorsque le serveur Web (nginx) est en cours d'exécution sur ces ports
Si vous avez un proxy Web permettant le tunneling CONNECT
Certains pare-feu bloquent toutes les connexions sortantes, mais permettent de naviguer sur le Web via un proxy qui permet à la méthode HTTP
CONNECT
de percer efficacement un trou dans le pare-feu. LaCONNECT
méthode peut être limitée à certains ports, vous devrez donc peut-être combiner cela avec une écoute sur le port 443 comme ci-dessus.Pour que SSH passe via le proxy, vous pouvez utiliser un outil comme le tire-bouchon . Dans votre
~/.ssh/config
, ajoutez uneProxyCommand
ligne comme celle ci-dessous, si votre proxy Web esthttp://web-proxy.work.example.com:3128
:Envelopper SSH dans HTTP (S)
Certains pare-feu n'autorisent pas le trafic SSH, même sur le port 443. Pour y faire face, vous devez masquer ou canaliser SSH en un élément autorisé par le pare-feu. Voir http://dag.wiee.rs/howto/ssh-http-tunneling/ pour un tutoriel sur cette opération avec proxytunnel .
la source
ProxyCommand nc -X connect -x __proxy_IP__:__port__ %h %p
vous pouvez essayer un autre moyen, mettre en place un serveur Web, qui peut ssh votre serveur,
https://github.com/huashengdun/webssh
la source
Vous pouvez utiliser sslh si vous souhaitez exécuter à la fois un serveur HTTPS et un serveur SSHd sur le même port 443.
la source