现在在某客户项目上,一些资源只能通过客户电脑上的VPN访问。客户机是一台Windows。而且并没有管理员权限。而我平常开发用的是Mac,使用起来两台电脑切换非常不方便。

远程桌面

因为客户机防火墙拒绝所有接入连接,所以直接通过RDP连接到客户机是不现实的。

有的同事甚至通过把两台机器加入到同一个zoom meeting,然后再分享桌面,申请控制权来实现远程桌面。

而我选择了端口转发,客户机有安全审计,像frp是立马报毒的。所以能用到的只有ssh,毕竟谁能说自带的ssh是危险应用呢?

ssh -R 8080:127.0.0.1:3389 user@remote.host

将远端的8080端口映射到本机的3389端口,经过尝试,发现机器直接拒绝远程登入。所以必须寻找一个远程桌面的代替品,这里直接使用了RustDesk,可以在无UAC的环境下执行,开启IP直接登录和密码访问,就能解决第一个问题,远程桌面。

SSH Server采用了在日常使用机器上的Gost

gost -L forward+ssh://username:password@0.0.0.0:2222/

断线重连

putty的衍生版本Kitty(http://www.9bis.net/kitty/)

  • 支持记录密码
  • 支持忽略Host Key变更

自动锁屏

客户机设置了自动锁屏,而且锁屏之后需要按Ctrl+Alt+Del才能进入输密码的界面。我的账户也没有权限修改,一旦锁屏,远程桌面(RustDesk)只能看着锁屏界面发呆。这里用到了两个小软件(因为只用一个会偶尔失效),分别是

  • Caffeine,模拟定时按一个不存在的F15按键。
  • StayAwake,鼠标不停移动1px。

代理

这就是一个更加敏感的操作了,尝试在客户机跑gost,还是因为操作审计,立马被删了,而且第二天客户IT就找上门来了。

所以,什么软件可以起到代理的作用,但大家又会觉得这是无害的呢?

答案是:抓包软件

所以我在客户机上装了一个fiddler。

连接

最后一个问题了,怎么样才能让Mac和Windows互相访问呢?公司规定客户设备是不能接入办公室网络的,只能接入访客网络。而访客网络是AP隔离的。

答案就是一根网线。都配上169.254.xxx.xxx网段,就可以互通了。

一同组合拳下来,操作体验上升了1251223%。