1 sshuttle简介

最近在k8s配置用到shuttle,只知道公司用它完成远端k8s集群环境网络环境打通环境工作,于是决定研究一下它,了解这个穷人代理究竟魅力何在。

01-github链接

sshuttle和ssh的tunnle不同不是基于TCP-over-TCP的,而是叫data over tcp的,省去了一次包裹。

2 sshuttle用法

sudo sshuttle -v 0/0
sudo sshuttle -vNHr example.org
#### 1 sshuttle -r指定一台远端服务器路由全部流量过去
sshuttle -r username@sshserver 0.0.0.0/0
sshuttle -r username@sshserver 0/0

sshuttle --dns -r root@177.18.11.112 0.0.0.0/0
sshuttle --dns -r username@sshserver 0/0
#### sshuttle可以使用Linux和OSX的当前用户自动生成正确的sudoers.d文件。 这样做将使sshuttle可以运行而无需询问本地sudo密码,并为不具有sudo访问能力的用户提供运行sshuttle的权限:
sshuttle --sudoers
sshuttle --sudoers --sudoers-user mike

3 原理

当开始后,sshuttle会创建一个ssh会话到由-r指定的服务器。如果-r被丢了,它会在本地运行客户端和服务端,这个有时会在测试时有用。

连接到远程服务器后,sshuttle会上传它的(python)源码到远程服务器并执行。所以,你就不需要在远程服务器上安装sshuttle,并且客户端和服务器端间不会存在sshuttle版本冲突。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐