
- 公司电脑是有线网线,开启了远程桌面,而且你的账号有远程桌面权限。
- 公司防火墙限制第三方的远程软件,无法外部通过第三方远程软件,连接到公司电脑上;但公司防止墙是允许,公司电脑连接公网上的SSH服务器。
- 你在公网上有一台SSH服务器,家里的电脑或出差的笔记本可以连接公网上的SSH服务器。
- 你也期望在家里或出差时,能通过远程桌面登陆上公司电脑。
Contents
hide
端口转发实现网穿透
这个时候,就可以使用SSH隧道实现内网穿透。同时,你也了解 ssh端口转发 的基本知识。
第一步:在SSH服务器上,在sshd_config中开启网关与转发,并重启ssh服务。
GatewayPorts yes
AllowTcpForwarding yes
第二步:在公司电脑上,使用ssh的远程端口转发建立SSH隧道。会占用SSH服务器的33891端口,此端口不需要在防火墙中开放。
ssh sshUser@sshIP -R 33891:localhost:3389
第三步:在家里的电脑或出差的笔记本上,使用ssh的本地端口转发建立SSH隧道。
ssh sshUser@sshIP -L 33892:sshIP:33891
第四步:在家里的电脑或出差的笔记本上,打开远程桌面程序输入 localhost:33892,就实现内网穿透到公司电脑上了。
上面第三步是关键,需要公司电脑上SSH远程端口转发隧道一直存在,所以可以使用以下脚本加入开机自启动:
RunHiddenConsole.exe C:\Windows\System32\OpenSSH\ssh.exe sshUser@sshIP -R 33891:localhost:3389 -N -o TCPKeepAlive=yes -f
工具下载:RunHiddenConsole
第三方软件通过ssh联网
另外一个思路,或者没有开启远程桌面权限,但安装了第三方远程软件,且支持代理连接配置,让第三方软件通过ssh联网,可以绕过公司防火墙的限制,实现远程控制公司PC。
@echo off
%~dp0pskill64.exe ssh
%~dp0RunHiddenConsole.exe %SystemRoot%\System32\OpenSSH\ssh.exe sshUser@sshIp -i"sshPrivateCert.pem" -D 1081 -N -o TCPKeepAlive=yes -f
%~dp0pslist64.exe ssh
ping localhost -n 3 > nul
rem 常用端口号:https://cloud.tencent.com/developer/article/1897800
rem 公认端口(Well-KnownPorts):范围从0到1023
在第三方远程软件的代理连接配置为socks5的ip为127.0.0.1,端口为1080。注意,由是ssh.exe,sshPrivateCert.pem文件的NTFS权限需要被保护,如果有其他用户可以读取,ssh连接失败,报错:UNPROTECTED PRIVATE KEY FILE! (未受保护的私钥文件)
发表回复