如何通过 SSH 隧道路由我的互联网?

Oxw*_*ivi 25 ssh networking tunnel

老 Q如何在没有 root 权限的情况下设置 OpenVPN 服务器?

有没有办法在没有 root 权限的情况下设置 OpenVPN 服务器?例如在我的主目录中有配置文件?如果是,我该如何设置?

我正在尝试通过 SSH 进入系统并在那里设置 OpenVPN 服务器供个人使用。

编辑

由于很明显 OpenVPN 需要 root 权限,我将问题更改为使用可以轻松设置的 SSH 路由我的互联网。

And*_*més 34

sshuttle是一个透明的代理服务器,它通过 SSH 连接进行转发,并通过在远程服务器上运行 Python 脚本来设置代理。sshuttle可以在以下条件下运行:

  • 客户端机器或路由器是基于 Linux、FreeBSD 或 Mac OS
  • 客户端的管理权限
  • 通过 SSH 访问远程网络
  • 在远程网络上没有管理员权限
  • Python 在远程服务器上的可用性

安装穿梭在此处输入图片说明 从软件中心或终端:

sudo apt-get install sshuttle
Run Code Online (Sandbox Code Playgroud)

运行 sshuttle 并路由所有流量的基本命令是:

sshuttle -r username@sshserver:port 0/0
Run Code Online (Sandbox Code Playgroud)

执行该命令后,sudo将出现密码提示,随后是 SSH 帐户的密码。除了一条短消息并在失败时返回 shell 外,不会出现其他详细信息。有关更多状态消息,请sshuttle在详细模式下使用-v标志运行。

在此示例中,除 DNS 之外的所有 Internet 流量都通过 VPN 路由。-r标志表示上例中的远程主机名和可选的用户名和端口。0/0是它的缩写0.0.0.0/0,代表通过 VPN 路由的子网。使用0/0将除 DNS 请求之外的所有流量路由到远程服务器。使用-H标志可以进行 DNS 调谐。

请阅读手册页 ( man sshuttle) 以了解sshuttle可以运行的选项和模式的详细信息。有关概念和更多示例的信息,请参阅项目页面


Lek*_*eyn 18

您无法在没有 root 权限的情况下设置 OpenVPN,因为某些操作需要它。

  • 先决条件:您需要在(iptables?)防火墙中启用数据包转发
  • 在操作中添加设备:必须使用ifconfig. 否则,服务器和客户端之间不可能进行通信

根据您的需求,可以使用其他解决方案。为了浏览您的服务器,您可以设置一个 SOCKS 服务器。

袜子代理

设置 SOCKS 代理并不困难:它内置于 OpenSSH 中。要启用 SOCKS 服务器,请在终端中运行下一个命令:

ssh user@host -D1234
Run Code Online (Sandbox Code Playgroud)

将 1234 替换为您的首选端口。在您的浏览器中,您可以在 SOCKS4/5 服务器上输入localhost主机和1234端口。

以下是 Firefox 浏览器中的示例:

  1. 转到编辑- >首选项
  2. 打开高级部分
  3. 转到网络选项卡
  4. 设置
  5. 选择手动代理配置
  6. localhost作为SOCKS 主机输入
  7. 输入1234为端口(与SSH命令中指定的端口相同)
  8. OKClose关闭首选项对话框。

Firefox 设置示例