摘要
在工作中,我们经常会需要连接单位的电脑去做一些特定的事情;在有些工科的学习中,科研工作者也经常需要连接单位或者科研机构的服务器来执行一些需要大规模计算量的任务。本文介绍作者在配置远程工作环境中的一些心得和踩过的一些坑,同时包括对远程方法的具体描述。
1 本地Windows系统连接远程Windows系统
此部分较为简单,可以在本地和远程系统中分别安装向日葵远程工作软件,安装完成之后(安装过程默认即可)最新版界面如下
向日葵会给自己的机器生成识别码和验证码,把自己的识别码和验证码发给伙伴,伙伴就可以远程控制自己的电脑啦。
2 本地Windows连接远程Linux服务器(有公网ip)
服务器有公网ip的话就非常简单,直接可以通过ssh来连接,不知道ssh连接是什么的可以参考下面这篇文章
https://blog.csdn.net/li528405176/article/details/82810342
ssh连接的工具,常用的有以下几种:
第一种,Windows控制台
- 通过win+r调出运行
- 在运行框中输入CMD
- 输入ssh,回车可以看到,没有看到该节目的参考这篇文章安装openSSL
- 最后一步输入ssh -p 22 root@127.0.0.1,其中-p 22代表通过端口22连接,一般ssh都是默认端口22连接,root@127.0.0.1,其中root为你需要连接目标主机的用户名,127.0.0.1是目标主机的地址
第二种,通过Xshell连接
具体可以参考以下Linux入门及Xshell基础设置第三种,通过MobaXterm连接
具体可以参考以下全能终端神器——MobaXterm3 本地Windows连接远程Linux(无公网地址)
通过一个场景来介绍,你是一名深度学习民工,需要连单位的服务器,而且单位还没有VPN。
分析问题,单位里的服务器没有公网地址,没有办法直接访问。所谓内网就是内部建立的局域网络或办公网络。举个例:一家公司或一个家庭有多台计算机,他们利用不同网络布局将这一台或多台计算机或其它设备连接起来构成一个局部的办公或者资源共享网络,我们就称它为内部网络,也叫内网。所谓外网就是通过一个网关或网桥与其它网络系统连接,相对于自己的内网来说,连接的其它网络系统就称为外部网络,也叫外网。举例说明:当一家公司或一个家庭的所有电脑网络想要与公司或家庭以外的网络连接(比如连接互连网),相对于这家公司或家庭,其它网络(或互连网)就称为外网。
解决办法:
- 我远程连接单位里的主机(跳板机),再通过跳板机来连接单位里的服务器(因为单位里的机器是处于同一子网下,可以相互访问),这种情况可以直接采用 第一步和第二步结合起来使用;
- 我要是没有一个方便使用的跳板机怎么办?问题还是可以解决的,这里引入内网穿透的概念。
网络地址转换(Network Address Translation,NAT)机制的问题在于,NAT设备自动屏蔽了非内网主机主动发起的连接,也就是说,从外网发往内网的数据包将被NAT设备丢弃,这使得位于不同NAT设备之后的主机之间无法直接交换信息。这一方面保护了内网主机免于来自外部网络的攻击,另一方面也为P2P通信带来了一定困难。Internet上的NAT设备大多是地址限制圆锥形NAT或端口限制圆锥形 NAT,外部主机要与内网主机相互通信,必须由内网主机主动发起连接,使 NAT设备产生一个映射条目,这就有必要研究一下内网穿透技术。
具体内容参考内网穿透
我们具体讲一讲内网穿透如何实现,这里我们介绍一款提供内网穿透服务的网站SAKURA FRP,以这个网站为例(优点是1.免费 2.带宽尚可,缺点希望大家用的时候发现问题来补充)
基于这个网站我们来讲一下用法
1 注册登录,有一点比较有意思的是它的登录需要验证本人身份信息(验证信息是通过别的机构提供的服务,1元一次),注册完成可以看到首页信息
2 创建隧道
3 创建完成之后需要查看一条关键的信息,整条复制-f XXXXXXXX-XXXXX,一定注意保密!!!
4 以上三步可以在Windows系统上完成,接下来需要通过linux下载提供的frpc工具
下载地址:
https://www.natfrp.com/tunnel/download
5 利用隧道开启机子的服务
将终端打开到下载好问题的目录下,运行
chmod 777 frpc_linux_amd64
-f后的请按照自己建立的隧道配置
./frpc_linux_amd64 -f xxxxxxxxxxxxxxxx:xxxxxx
配置好的话即可以看到地址啦
端口应该是五位数那个~
完结撒花✿✿ヽ(°▽°)ノ✿
ps
- 使用Screen创建一个会话,screen -S sakurafrp
- 运行客户端,./frpc_linux_amd64,依据提示进行操作即可
- 按下 Ctrl + A + D 就可以将Screen会话隐藏在后台执行
- 当你需要切换回这个会话的时候,输入命令: screen -r sakurafrp
- 关于映射的配置应在官网的【管理面板】中操作