用云主机搭建私有的远程网关,实现访问内网电脑

1 篇文章 0 订阅
1 篇文章 0 订阅

       背景:内网主机经过了路由,在外网无法直接访问.虽然我们有Teamviewer,向日葵,anydesk等软件可以实现远程访问内网电脑的图形界面,但是免费的版本有诸多限制,比如带宽低,网络不稳定.另外之前爆出过Teamviewer的服务器被黑,不免让人担心自己的隐私会泄漏.这篇文章就是介绍如何利用云主机,来搭建自己的远程网关,实现外网访问内网主机的功能.

     首先需要购买一台云主机,购买过程略.以下用华为云ecs的ubuntu 16.04 服务器来介绍.首先点击控制台-安全组,添加规则,放行一组端口.

 

添加完成后,ssh连接到服务器用命令生成key文件,省略以后登陆时输入密码的操作.

#在云主机上操作
ssh-keygen -t rsa
mv ~/.ssh/id_rsa.pub authorized_keys #修改为默认的验证文件.
然后只需要把私钥文件 ~/.ssh/id_rsa 复制到其他电脑的 ~/.ssh/目录下即可实现免密登陆云主机,windows电脑的路径在 C:\Users\用户名\.ssh\

修改ubuntu服务器的sshd_config 文件,启用网关功能

echo 'GatewayPorts yes'|sudo tee -a /etc/ssh/sshd_config # 启用网关功能
echo 'ClientAliveInterval 30' |sudo tee -a /etc/ssh/sshd_config # 每30秒发送一个心跳包,保持连接
echo 'ClientAliveCountMax 30'|sudo tee -a /etc/ssh/sshd_config # 超过30个心跳包发送失败则断开连接
sudo service ssh restart  # 重启ssh服务

在内网windows 10(1809以后的版本自带SSH) 上,打开命令提示符

win+R打开运行窗口,然后输入 cmd

在命令提示符中输入 

ssh -fCNR 7000:localhost:3389 userID@huaweiyunIP
-f: 后台执行ssh指令;
-C: 请求压缩所有数据;
-N: 不执行远程指令;
-R: 远程端口转发
7000:为远程服务器上用来做转发的端口号
3389:微软远程桌面默认端口
userID:ubuntu服务器用户名
huaweiyunIP:ubuntu服务器IP地址

输入完成后在ubuntu主机上用命令查看端口7000 转发是否存在

ss -tnlp #查看返回的结果中是否有上一步指定的端口,比如之前写的7000

存在则代表添加成功,到此就完成了90%的步骤,其他的电脑 可以通过 huaweiyunIP:7000 ,这个地址来访问内网windows10主机的远程桌面.

后续的优化地方,可以将输入命令的步骤加入到 windows的计划任务中,以实现开机联网后自动ssh连接到ubuntu服务器的功能.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值