J'ai un serveur avec une seule adresse IP publique où l'accès est limité au port 443 seulement. J'ai configuré un reverse proxy apache pour l'accès aux pages web en https. J'ai configuré https://one.example.com pour le site web n°1 et https://two.example.com pour le site web n°2. Je veux autoriser la commande ssh three.example.com pour une session ssh. Comment puis-je faire cela?
Réponses
Trop de publicités?SSH ne peut pas être mis en proxy inversé de cette manière. Regardez comment configurer un serveur VPN et accéder aux hôtes de votre réseau interne via le VPN.
Par exemple: OpenVPN est couramment utilisé à cette fin.
Vous avez besoin d'un proxy devant apache afin de discriminer les flux SSH
et HTTPS
, qui sont conceptuellement totalement différents (SSH
affiche son bannière et attend une réponse, HTTPS
écoute l'initiative du client).
sslh est ce que vous cherchez. Il se lie sur le port 443 et redirige le trafic SSH
vers localhost:22 et le trafic HTTPS
vers localhost:443 (ou toute autre IP que vous configurez). Options à définir :
OPTIONS="--user nobody \
--pidfile $PIDFILE \
-p $Public_IP_Address_Here:443 \
--ssl 127.0.0.1:443 \
--ssh 127.0.0.1:22"