我有一个只有一个公共IP的服务器,其中访问仅限于443端口。 我已经configuration了一个用于访问https网页的apache反向代理。 我为网站#1configuration了https://one.example.com ,为网站#2configuration了https://two.example.com 。 我想允许命令ssh three.example.com进行ssh会话。 我怎样才能做到这一点?
SSH不能像这样反向代理。 查看configurationVPN服务器并通过VPN访问内部networking上的主机。
例如: OpenVPN通常用于此目的。
Putty允许您configurationHTTP代理:

也许你也可以尝试将apacheconfiguration为一个普通的代理,只要允许连接到端口22的主机。
你需要一个在Apache前面的代理,以区别SSH和HTTPSstream量,这在概念上是完全不同的( SSHpopup其标题并等待回答, HTTPS监听客户端主动)。
sslh是你正在寻找的。 它绑定在端口443上,并将SSHstream量redirect到localhost:22,并将HTTPSstream量redirect到localhost:443(或者您configuration它的任何IP)。 要设置的选项:
OPTIONS="--user nobody \ --pidfile $PIDFILE \ -p $Public_IP_Address_Here:443 \ --ssl 127.0.0.1:443 \ --ssh 127.0.0.1:22"