我使用的是 RedHat 7.8。我无法从机器访问互联网,但我可以访问 Web 代理。使用 wget 或 curl 时,代理可以正常工作(不需要身份验证)。
我想通过代理连接到互联网上的主机。我的 ~/.ssh/config 如下所示:
Host internetbox
ProxyCommand ncat --proxy-type http --proxy proxy-app:8080 %h %p
ServerAliveInterval 10
IdentityFile ~/.ssh/ssh-key-2020-09-15.key
User opc
HostName 143.11.18.74
当我尝试 ssh 到主机时,出现以下信息:
ssh -v internetbox
OpenSSH_7.4p1 (CentrifyDC build 5.4.2-648) , OpenSSL 1.0.2k-fips 26 Jan 2017
debug1: Reading configuration data /home/gozilla/.ssh/config
debug1: /home/gozilla/.ssh/config line 1: Applying options for internetbox
debug1: Executing proxy command: exec ncat --proxy-type http --proxy proxy-app:8080 143.11.18.74 22
debug1: permanently_drop_suid: 79755426
debug1: key_load_public: No such file or directory
debug1: identity file /home/gozilla/.ssh/ssh-key-2020-09-15.key type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/gozilla/.ssh/ssh-key-2020-09-15.key-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.4
Ncat: Proxy returned status code 403.
ssh_exchange_identification: Connection closed by remote host
任何想法?
答案1
我遇到过 403 错误,因为代理配置不允许使用终端服务端口。例如,如果您没有提及 21 并尝试通过此代理连接到 ftp 服务器,您将遇到此 403 错误。
对于 Web,我认为你应该在代理设置中允许 443
例如,在 httpd 代理中,您可以允许以下端口
AllowCONNECT 443 21