服务器SSH隧道联网设置

地址:https://www.jianshu.com/p/5e84046de28c
部分服务器集群运行在局域网环境,无法联网,使用conda或pip时需在本地下载安装包上传再安装。可设置本机http监听端口,通过SSH隧道的反向代理功能实现服务器联网,下载各种安装包。


1. 本地联网电脑设置

需安装http代理软件,Ubuntu系统可使用TinyProxy,Windows系统则使用WProxy。

WProxy下载地址

i. Ubuntu系统( 或使用win10的WSL1子系统 )

使用sudo apt-get install tinyproxy命令安装TinyProxy代理服务器,修改/etc/tinyproxy/tinyproxy.conf第23行Port监听端口(示例为20810),注释第212行Allow 127.0.0.1允许所有IP连接。运行sudo service tinyproxy start启动TinyProxy代理服务器。

ii. Windows系统

使用WProxy软件设置http代理。


WProxy软件界面

WProxy软件http代理配置界面

2. 服务器端设置

i. 若服务器可以连接本地电脑(在同一局域网)

示例192.168.26.151为本地电脑IP,在本地电脑防火墙设置中开放20810端口外部连接权限。

环境变量中设置代理

export http_proxy=http://192.168.26.151:20810
export https_proxy=http://192.168.26.151:20810
export ftp_proxy=http://192.168.26.151:20810

可添加至.bashrc文件中,该代理设置会影响所有可通过http代理联网的软件命令,也可以分别针对conda、pip、wget设置代理。

conda

在服务器用户根目录下新建.condarc文本文件,写入代理IP及端口,最后五行为设置使用国内镜像及显示包来源。

proxy_servers:
  http: http://192.168.26.151:20810
  https: http://192.168.26.151:20810
channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - conda-forge
  - defaults
show_channel_urls: true

pip

在pip命令后添加--proxy="192.168.26.151:20810"使用临时代理,或在服务器用户根目录下新建.pip文件夹,在文件夹中新建pip.conf文本文件,写入代理IP及端口,最后一行为设置使用国内镜像。

[global]
proxy=192.168.26.151:20810
index-url=https://mirrors.aliyun.com/pypi/simple

wget

在wget命令后添加-e "http_proxy=192.168.26.151:20810"使用临时代理,或在服务器用户根目录下新建.wgetrc文件,写入代理IP及端口。

# You can set the default proxies for Wget to use for http, https, and ftp.
# They will override the value in the environment.
https_proxy = http://192.168.26.151:20810
http_proxy = http://192.168.26.151:20810
ftp_proxy = http://192.168.26.151:20810
# If you do not want to use proxy at all, set this to off.
use_proxy = on

ii. 若服务器无法连接本地电脑

利用ssh的隧道的反向代理功能将本地http监听端口转移到服务器。


Xshell隧道端口转发设置

命令行参数为

ssh -gnNTf -R 20814:localhost:20814 [email protected]

代理配置中的IP改为127.0.0.1,同时可设置conda和pip使用国内镜像。

环境变量中设置代理

export http_proxy=http://127.0.0.1:20810
export https_proxy=http://127.0.0.1:20810
export ftp_proxy=http://127.0.0.1:20810

conda

proxy_servers:
  http: http://127.0.0.1:20810
  https: http://127.0.0.1:20810
channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - conda-forge
  - defaults
show_channel_urls: true

pip

[global]
proxy=127.0.0.1:20810
index-url=https://mirrors.aliyun.com/pypi/simple

wget

# You can set the default proxies for Wget to use for http, https, and ftp.
# They will override the value in the environment.
https_proxy = http://127.0.0.1:20810
http_proxy = http://127.0.0.1:20810
ftp_proxy = http://127.0.0.1:20810
# If you do not want to use proxy at all, set this to off.
use_proxy = on

3. 使用SOCKS代理

conda、pip及wget无法直接使用SOCKS代理,可安装tsocks工具,在服务器用户根目录下新建.tsocks.conf文件,写入SOCKS类型、代理IP及端口。

server = 127.0.0.1
server_type = 5
server_port = 20810

在需使用代理的命令前添加tsocks即可。

你可能感兴趣的:(服务器SSH隧道联网设置)