在 Mac 上用一个命令使用 SSH 做代理科学上网
作为一个开发人员,翻墙是必备本领。
一些常用的参考代码和开发文档官方网站,要么很慢,要么被墙,你懂的,这需要科学上网。
你只要有一个墙外的 Linux
服务器,就能在 Mac
上用一个命令使用 ssh
做代理科学上网。
创建 SSH 秘钥
先创建名称为 pxy_rsa
的本地秘钥(你也可以使用已有的秘钥,怎样创建 ssh 秘钥如果不会自行网上搜索)。
服务器端添加账号
服务器端 ssh
禁用密码登录,配置 key
登录,
添加用户名为 pxy
的账号,只允许作为代理,不允许做其它操作。
使用 root
权限操作,执行以下命令
1 | # 创建用户 |
Mac 本地代理设置
设置本地 ssh
连接
vim ~/.ssh/config
打开 SSH 配置文件,添加内容:
1 | Host pxy |
这样,客户端执行命令 ssh pxy -D 1080 -N
即开启代理通道,在本地就可以使用 localhost:1080
做代理了。
但是,启动代理后,每次还要去系统设置里开启网络连接的 sock5 代理,完了又要关闭,麻烦死了。下面教你一个命令搞定。
创建启动代理的脚本
在 ~/proxy
文件输入以下内容:
1 |
|
其中 “Wi-Fi” 为设置代理的网络连接名,如果你用的是台式机,可用命令 sudo networksetup -listallnetworkservices
查看当前使用的网络连接名,把“Wi-Fi”改为你的网络连接名就可以了。
添加自定义命令
把一下命令加入到 ~/.bash_profile
文件中
1 | #proxy |
配置完成。
- 启动代理:打开一个新的终端窗口,执行命令
proxy
,这样一个命令就可以启动代理了。用浏览器打开网址ipinfo.io
就能看到你当前的公网 IP 了。 - 启动命令行代理:
proxy
命令是不启动命令行代理的,如果想在命令行启用代理,还需要执行前面自定义的proxy_cli_on
命令,然后在当前终端使用命令curl ipinfo.io
就可以看到你的公网IP了。
有人喜欢修改
~/.bash_profile
后,使用source ~/.bash_profile
命令加载后执行命令,我比较懒,喜欢Ctrl+N
在新窗口执行命令。
在 Mac 上用一个命令使用 SSH 做代理科学上网