我知道这不是一个新问题,但我已经研究了一些,到目前为止我看到的答案都没有给我答案。
我有这样的情况:
我在一个网络高度不安全的校园工作(某些人正在执行数据包嗅探),并且使用代理服务器来访问互联网。我可以访问安装了 sshd 的服务器(该服务器与代理之间的通信没有此问题)。虽然我不能直接登录,但我可以将它用于ssh隧道(事实上该隧道已经在个人配置的Windows机器上使用)。
我需要使用配置为访问的代理之一通过 wget 进行下载。我使用客户端 ssh 创建了以下配置
export sshuname=MySshUsername
export sshupass=MySshPassword
export sshrserver=MyRemoteSSHD
export proxyserver=MyProxyServer
nohup sshpass -p $sshupass ssh $sshuname@$sshrserver -N -C -L 8082:$proxyserver:3128 &
当我尝试 telnet 代理服务器正确响应我时
telnet localhost 8082
但是当我将其与 wget 一起使用时
export http_proxy=http://localhost:8082
export https_proxy=http://localhost:8082
export ftp_proxy=http://localhost:8082
export proxy_user=MyProxyUserName
export proxy_passwd=MyProxyPassword
export dir_pref=TEST
export log_name=test
export url=http://internet.site/path/file.tgz
wget -c -t0 --no-check-certificate --proxy-user=$proxy_user --proxy-password=$proxy_passwd --directory-prefix=$dir_pref $url
wget 报告以下错误
正在解析本地主机(本地主机)... 127.0.0.1,::1 连接到本地主机(本地主机)|127.0.0.1|:8082... 失败:连接被拒绝。连接到本地主机 (localhost)|::1|:8082... 失败:协议不支持地址族。
谁能告诉我我做错了?
使用 SOCKS 进行代理不是一个选择!
该计算机上的本地 iptables 正在接受端口 8082 上的连接。
将来,下一步将是按照我上面描述的方式通过 ssh 隧道重定向通过该计算机的每个代理连接。这台机器是我部门内部网络的防火墙,“理论上”我的内部网络没有问题。