最近经常从公网访问家庭内网的内容,但是出于安全考虑,仅暴露了ssh服务到公网,本文主要是记录两个命令,以备使用

开启SSH socks

开启命令非常简单,执行如下命令即可。开启后,可以使用插件将浏览器流量代理到本地开启的socks端口上,或者使用其他自己熟悉的方式使用socks,这里不再赘述。

ssh -D <local socks port> -q -C -N <user>@<host> -p <port>

关闭SSH socks

注意下control path是开启了ssh的control master的情况下,在连接后会自动生成可多路复用的socket文件,control path是其路径,如果没开启,暂时还没看到应该怎么去复用原有的ssh通道去关闭连接

ssh -S <control path> -O exit t

开启多路复用

多路复用即在和一台主机建立ssh连接之后,再次与这台主机建立连接的时候直接复用已有的ssh连接,就不需要再重复进行密码验证等各种操作,这种操作在ssh里面称之为ControlMaster。配置的方法很简单,我们只需要在每个用户对应的~/.ssh/目录下面新建一个config文件,再添加对应的配置即可:

Host *
# Host变量主要用于控制哪些主机会使用下面的配置
    ControlMaster auto
    # ControlMaster变量用于控制是否开启ssh的多路复用功能
    ControlPersist 600s
    # ControlPersist变量主要用于控制保持连接的时间,这里600s即为600秒(10分钟)
    ControlPath ~/.ssh/%r@%h:%p.socket
    # ControlPath变量用于存放复用连接所产生的socket文件的路径和命名方式