ssh 和反向代理

ssh 和反向代理

我有一台只有一個公共 IP 的伺服器,其存取僅限於 443 連接埠。我已經配置了一個apache反向代理來訪問https網頁。我已經配置了https://one.example.com對於網站 #1 和https://two.example.com對於網站#2。我想允許命令 ssh Three.example.com 進行 ssh 會話。我怎樣才能做到這一點?

答案1

SSH 不能像這樣進行反向代理。查看設定 VPN 伺服器並透過 VPN 存取內部網路上的主機。

例如:開放VPN通常用於此目的。

答案2

Putty 允許您設定 HTTP 代理:

在此輸入影像描述

也許您可以嘗試將 apache 配置為普通代理,僅允許在連接埠 22 上連接到您的主機。

答案3

你需要在apache前面有一個代理來區分SSHHTTPS變化,這在概念上是完全不同的(SSH彈出它的橫幅並等待答案,HTTPS監聽客戶端的主動性)。

sslh就是您正在尋找的。它綁定在連接埠 443 上,並將SSH流量重定向到 localhost:22,並將HTTPS流量重定向到 localhost:443(或您設定的任何 IP)。需要設定的選項:

OPTIONS="--user nobody \
    --pidfile $PIDFILE \
    -p  $Public_IP_Address_Here:443 \
    --ssl 127.0.0.1:443 \
    --ssh 127.0.0.1:22"

相關內容