如何通过 SSH 设置端口转发?

如何通过 SSH 设置端口转发?

我有一个 shell 帐户(Debian),并且我希望所有本地主机浏览器互联网流量都通过该 shell 帐户。

我知道如何配置互联网浏览器以及如何配置 Putty 进行端口转发,但我不知道我需要在服务器上做什么才能实现这一点。

有谁知道我应该在服务器上做什么才能让它接受端口转发?它似乎不适用于默认配置。

答案1

在文件内部,sshd_config只需将#PermitTunnel设置从更改noyes

#PermitTunnel no

PermitTunnel yes

答案2

我希望所有本地浏览器的互联网流量都通过该 shell 帐户。

ssh -D 8080 -T -f -l username proxy_host
  • 将创建动态端口转发(SOCKS代理)。
  • -T不会分配 tty
  • -f将使 SSH 立即进入后台
    • 为了实现这一点,你需要使用公钥认证
    • 至少在 debian 上看一下 ssh-copy-id
  • 现在你只需要配置你的浏览器通过指定的端口

测试设置时请忽略-T和。本地端口转发 ( ) 仅适用于远程主机(例如,仅将流量转发到 ,而不是所有网络流量)-f-L [listenaddress]:localport:remotehost:remoteport ssh_hostssh -L 8080:google.com:80 ssh_hostgoogle.comssh_host

如果这不起作用,请使用-vvv添加了开关的 SSH 命令的输出更新您的问题。

答案3

使用时ssh -R 8080:google.com:80 ssh_host

sshd_config

GatewayPorts yes

应该是监听通配符或外部接口而不仅仅是环回。

答案4

我还推荐这个: http://blog.slowb.ro/2013/06/21/create-a-ssh-based-vpn-system/

总而言之,-D [port]建立连接时,解析 ssh 命令。但端口必须位于端口 1025+ 或以上。

相关内容