Mac OS X 开启socks5代理并自动断线重连

socks5的作用这里不做讨论。在windows下有MyEntunnel, Bitvise Tunnelier等自动连接ssh并建立socks5的工具,还支持断线重连,用起来十分方便,可是这些软件都没有Mac版!我强大的Mac怎能在这一环节输掉呢!于是本文章提供一个直接使用终端进行socks5的建立并实现免密码,掉线自动重练的功能。

首先,建立SSH密钥实现免密码登陆

  1. 在Mac中打开终端,切换到当前目录的~/.ssh目录下,查看是否已经存在key,如下图,如果存在id_rsa.pub文件,则可以跳过第2步,如果不存在请直接看第二步。
    cd ~/.ssh
    ls
    

    屏幕快照 2014-11-29 下午12.45.00

  2. 生成RSA密钥,输入以下命令,其中邮箱地址选填写,然后连按3次回车,表示在默认路径生成,空密码。
    ssh-keygen -t rsa -C "yourname@domain.com"
    

    屏幕快照 2014-11-29 下午12.51.38

  3. 复制密钥。切换到~/.ssh目录,打开id_rsa.pub文件,拷贝里面的一串内容。
    vi ~/.ssh/id_rsa.pub
    

    其中,拷贝的那串内容长这样“ssh-rsa AAAAB3NzaC1yc2….”。

  4. ssh连接到你的服务器,然后同样切换到~/.ssh目录,如果没有这个目录,就使用mkdir .ssh命令创建一个,然后在authorized_keys文件后添加刚才拷贝的内容,输入:wq保存,退出ssh连接。至此,免密码登陆已经实现
    vi ~/.ssh/authorized_keys
    

之后,建立自动断线重连

在终端输入以下命令,并保持这个终端窗口一直在运行(随便切换到另一个桌面上放着就看不见啦)

while true; do ssh -D 7070 root@domain.com || true; done

上面的root是用户名,domain.com是域名,7070是本地socks端口号,这三个根据实际情况修改。

打完这条命令后,就实现建立socks5并且一旦掉线马上尝试重新连接。有个小问题就是关机后就要重新打这段代码,不过用mac的谁还关机呢。



11 thoughts on “Mac OS X 开启socks5代理并自动断线重连

发表评论

电子邮件地址不会被公开。 必填项已用*标注