近期,Teamviewer越来越难于使用,对版权检查越来越严格,公司很多运维项目,都需要在客户现场搭建一个远程环境,方便在出现紧急情况时,能够通过远程环境及时处理,但是经常会因为teamviewer不能使用而耽误问题的处理,在工作中,发现通过SSH隧道,和具有公网IP的阿里云服务器,可以把远程电脑暴露在公网,供工程师从外网访问。
通过SSH 隧道,连接到公网IP服务器,将端口(windows远程桌面)转发到内网远程电脑,从而通过连接公网IP服务器IP:远程映射端口,来连接远程电脑的远程桌面。
黄色为内部映射端口
红色为外部映射端口
每个项目的远程电脑,需要规划三个端口:
远程守护端口,如28000
远程对内映射端口,如4389
远程对外映射端口,如3389(远程桌面需要指定的端口)
需要一个具有公网IP的阿里云服务器。
二、将安装包放在远程电脑上,解压
三、首先在远程电脑启用远程桌面服务
三、在远程电脑,检查是否有安装OpenSSH,如果执行ssh-keygen命令提示找不到命令,则需要安装OpenSSH:
缺省安装即可,如果已安装就不需要再安装。
配置免密码证书访问阿里云服务器
在远程电脑执行ssh-keygen -t rsa命令,产生证书文件
Id_rsa 私钥
Id_rsa.pub 公钥
将私钥文件复制到ssh目录内,将公钥文件复制到阿里云,在阿里云服务器上,将公钥文件追加到 ~/.ssh/authorized_keys文件中:
cat id_rsa.pub >> ~/.ssh/authorized_keys
修改autossh.bat批处理文件的地址端口参数
autossh.bat文件是建立ssh隧道并且循环监控连接是否存在并重连的程序,需要修改远程地址、端口信息。
HOST 是具有公网IP地址的服务器
KEY_FILE是连接服务器的私钥证书文件,一般不需要改
REMOTE_PORT是远程对内映射端口,这个端口在公网服务器上只监听本机访问,需要监听外网端口转发。
MONITOR_PORT是守护端口,监控AUTOSSH进程。
LOCAL_PORT是被远程的电脑的远程桌面端口,一般是3389
启动AUTOSSH.BAT
正常启动如下:
在公网IP服务器上添加端口转发
使用rinetd进行端口转发,登录阿里云服务器,修改端口转发配置文件
Vi /etc/rinetd.conf
在最后添加一行,格式为:
绑定外部访问地址(0.0.0.0) 外部映射端口 服务器本机地址 内部映射端口
保存即可
在任意位置,通过阿里云服务器+外部映射端口,访问远程电脑的远程桌面,进行操作。
需要建立远程的每个项目,需要规划出三个端口:守护端口,内部映射端口,外部映射端口,每台被远程电脑都要分配一套这三个端口,不冲突即可,从外部访问远程电脑时,记住远程电脑的操作系统用户名密码,以及外部映射端口即可,地址为同一个地址,通过端口区分。
---------------------
作者:海淀农民
来源:优快云
原文:https://blog.youkuaiyun.com/u012007592/article/details/93189690
版权声明:本文为博主原创文章,转载请附上博文链接!