SSH端口转发本地端口转发本地端口转发将连接从客户端主机转发到SSH服务器主机,然后转发到目标主机端口。ssh-L[LOCAL_IP:]LOCAL_PORT:DESTINATION:DESTINATION_PORT[USER@]SSH_SERVER复制代码参数说明:[LOCAL_IP:]LOCAL_PORT-本地IP和端口号,LOCAL_IP默认为localhost。DESTINATION:DESTINATION_PORT-目标机器的IP地址和端口号。[USER@]SERVER_IP-远程SSH地址和登录用户。案例:使用本地地址127.0.0.1:3336连接远程数据库db001.host:3306,使用127.0.0.1:3337连接db002.host:3306:ssh-L3336:db001.host:33063337:db002.host:3306user@pub001.host复制代码检查SSH服务器配置:AllowTcpForwarding=yesRemotePortForwarding远程端口转发远程端口转发与本地端口转发相反。它允许您将远程(ssh服务器)机器上的端口转发到本地(ssh客户端)机器上的端口,然后再转发到目标机器上的端口。远程端口转发主要用于向外部人员提供对内部服务的访问。ssh-R[REMOTE:]REMOTE_PORT:DESTINATION:DESTINATION_PORT[USER@]SSH_SERVER复制代码参数说明:[REMOTE:]REMOTE_PORT-远程服务器地址和端口号。REMOTE默认为所有地址。DESTINATION:DESTINATION_PORT-目标机器的IP地址和端口号。[USER@]SERVER_IP-远程SSH地址和登录用户。示例:ssh-R8080:127.0.0.1:3000-N-fuser@remote.host复制代码上面的命令将使ssh服务器监听8080端口并将所有流量从该端口转移到本地计算机的3000端口.这样就可以在浏览器中输入the_ssh_server_ip:8080来访问应用了。检查SSH服务器配置:GatewayPorts=yesDynamicPortForwarding动态端口转发动态端口转发允许您在本地(ssh客户端)机器上创建一个套接字作为SOCKS代理服务器。当客户端连接到此端口时,连接将转发到远程(ssh服务器)机器,然后再转发到目标机器上的动态端口。ssh-D[LOCAL_IP:]LOCAL_PORT[USER@]SSH_SERVER复制代码参数说明:[LOCAL_IP:]LOCAL_PORT-本地IP地址和端口号。LOCAL_IP默认为本地主机。[USER@]SERVER_IP-远程SSH地址和登录用户。案例:ssh-D8080-N-f-C-quser@remote.host复制代码-D8080启动SOCKS服务,监听本地9090端口-f后台运行-C压缩请求数据-q使用静默模式-N不执行远程命令SOCKS代理使用场景cURL代理curl-xsocks5://127.0.0.1:8080https://google.com复制代码终端代理exporthttp_proxy=socks5://127.0.0.1:8080\https_proxy=socks5://127.0.0.1:8080\all_proxy=socks5://127.0.0.1:8080复制代码Git代理gitconfig--globalhttp.proxysocks5://127.0.0.1:8080gitconfig--globalhttps.proxysocks5://127.0.0.1:8080复制代码SSH代理编辑~/.ssh/config:Hostgithub.comHostNamegithub.comUsergitIdentityFile~/.ssh/id_rsaProxyCommandnc-v-x127.0.0.1:8080%h%p最后如果您觉得这篇文章对您有点帮助,请点个赞。或者可以加入我的开发交流群:1025263163互相学习,我们会有专业的技术解答。如果您觉得这篇文章对您有用,请给我们的开源项目一个小星星:http://github。crmeb.net/u/defu非常感谢!PHP学习手册:https://doc.crmeb.com技术交流论坛:https://q.crmeb.com
