apt-get通过隧道代理安装,但仅从客户端ssh

ras*_*ino 9 ubuntu vpn proxy firewall apt

所以......这是我的问题:

我可以从我的机器访问VPN.我可以通过SSH访问VPN中的服务器,但是这台机器内部无法访问,因为防火墙阻止了反向ssh连接.所以我不能通过隧道使用互联网来使用apt-get.

Lan配置

我怎样才能效仿:

sudo ssh -D 9999 root@<machineoutsidevpn>
Run Code Online (Sandbox Code Playgroud)

但是从VPN外面.或者以任何方式使用Internet连接来安装包?

Jam*_*rtz 28

建立:

电脑A.

  • 可以访问互联网
  • 可以访问计算机B.
  • SSH已安装

电脑B.

  • 无法访问Internet
  • 安装了OpenSSH Server

脚步:

  1. 计算机A 进入计算机B.

    sudo ssh -R <selected port>:us.archive.ubuntu.com:80 user@computerb.host
    
    Run Code Online (Sandbox Code Playgroud)
  2. 编辑计算机B /etc/apt/apt.conf以包含以下行:

    Acquire::http::Proxy "http://localhost:<selected port>";
    Acquire::https::Proxy "https://localhost:<selected port>";
    
    Run Code Online (Sandbox Code Playgroud)
  3. 运行你的apt-get updateinstallupgrade在计算机B上,它应该工作.


几点说明:

  • HAVE到SSH从计算机A原始会话保持到计算机B的活性,同时使用计算机B访问apt-get的仓库.
  • 您不必使用相同的ssh连接来使用隧道(这意味着如果您有多个ssh连接到计算机B,它们应该全部工作)

使用Putty

这也可以使用Putty来实现(假设计算机A是Windows机器).

  1. 启动会话时,选择SSH - >隧道
  2. 来源港口: <selected port>
  3. 目的地: us.archive.ubuntu.com:80
  4. 选择"远程"单选按钮
  5. 选择"添加"按钮
  6. 像往常一样配置会话.
  7. 按照上面的步骤2和3