Python · GitHub · Linux | 使用本机作为代·理服务器


致谢同学教我这种方法;对于强制不允许访问 google github 的服务器,貌似非常好用


01 配置 HTTP 代理

假设本机的 c·lash 的端口是 7890,则在 vscode 的 ssh config 里,修改:

Host server_alias
    HostName 123.45.67.162
    User <user_name>
    RemoteForward 127.0.0.1:7890 127.0.0.1:7890  # 添加这一行

这个文件应该在本机的 /user/.ssh 目录下。

然后,在服务器的 ~/.bashrc 里添加:

export http_proxy="http://127.0.0.1:7890"
export https_proxy="http://127.0.0.1:7890"
ulimit -n 65535

并 source ~/.bashrc 。

临时把代理关掉:

export http_proxy=""
export https_proxy=""

02 配置 ssh 代理

参考博客:https://seepine.com/git/ssh-proxy/

修改服务器 ~/.ssh 目录下的 config 文件,如果没有则新建这个文件:

Host github.com
    Hostname ssh.github.com
    Port 443
    User git
    ProxyCommand nc -v -x 127.0.0.1:7890 %h %p  # 添加这一行

如果没有 nc 命令,则需要

sudo apt update
sudo apt install netcat

通过 ssh -T git@github.com 来测试是否配置成功。

03 用服务器 A 做访问服务器 B 的跳~ 板~ 机~

在 vscode 的 ssh config 里,修改:

Host server_A
    HostName 123.45.67.162
    User <user_name>

Host server_B
    HostName 123.45.67.165
    User <user_name>
    ProxyCommand ssh -W %h:%p server_A  # 添加这一行

04 一些修网记录

(参考:https://blog.csdn.net/a2267542848/article/details/119893382)

如果与服务器的连接突然断开了,想重新连服务器的时候,发现配置的本机代理不 work,可以在服务器上尝试以下命令:

sudo netstat -plant | grep 7890  # 查询服务器上占住 7890 端口的程序
# 大概率是原来残留的那个连接,需要把它杀掉。示例输出:
# tcp 0 0 127.0.0.1:38302 127.0.0.1:7890 CLOSE_WAIT  1748765/nc
sudo kill -9 1748765

# 批量删除进程
sudo lsof -ti :7890 | xargs sudo kill -9

# 还可以尝试这个,只是需要 sudo apt-get install tcpkill
sudo tcpkill -i lo port 7890

然后退出服务器重连即可。



posted @ 2025-01-23 22:37  MoonOut  阅读(103)  评论(0)    收藏  举报