起因
实验室一台Ubuntu20.04的台式机电脑,我想用我的Win10笔记本远程连接它,用它的高性能,在Ubuntu的环境下来跑代码,这样比较方便。编程环境即可具有便携、性能。两者兼得,而且我的笔记本看来很舒服,毕竟2.8k,90分辨率。
需要使用内网穿透技术,我的Ubuntu处于内网,需要挂载到云服务器上,云服务器具有公网ip和域名。这样外网就可以访问我的内网ubuntu电脑。
图来自:https://www.bilibili.com/video/BV1LA41147ng
成果
目前可以SSH远程登录实验室Ubuntu电脑。
使用VSCode Remote SSH远程开发。
具体步骤
在阿里云的公网服务器和内网机器上都要下载安装包并解压:
$ wget https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_linux_amd64.tar.gz
$ tar -xzvf frp_0.21.0_linux_amd64.tar.gz
公网frps.ini配置文件:
[common]
bind_port = 7000
客户端frpc.ini配置文件
[common]
server_addr = xxx.xxx.xxx.xxx
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
公网服务器运行:
前台(测试时使用,等确认之后我们再使用后台启动,下同):
./frps -c ./frps.ini
后台:
$ nohup ./frps -c frps.ini &
客户端运行:
前台:
./frpc -c ./frpc.ini
后台:
$ nohup ./frpc -c frpc.ini &
ssh远程连接内网服务器
ssh -p remote_port username@公网ip
ssh -p 6000 horizon@106.15.333.9
connection time out
在阿里云 安全组 设置两个配置项,端口范围和授权对象
端口范围就是你要开放的端口的范围,需要将 server_port (7000)和 remote_port(6000) 都添加进去,可以分成两条规则分别添加;
授权对象是你要授权的对象,一般设为 0.0.0.0/0 表示允许所有IP的访问。
没有设置server_port,那么客户端启动frpc则会出现connection time out.
没有设置remote_port,那么外网访问内网客户端则会出现connection time out。
VSCode远程Remote SSH
需要设置公钥到内网机器上,然后在VSCode里创建remote ssh,注意 config需要和id_rsa在同一个目录下(即.ssh)。
具体步骤:
本地win10, cmd输入
ssh-keygen -t rsa -b 4096
记事本打开
.ssh\id_rsa.pub
复制内容到远程linux的
~/.ssh/authorized_keys
保存。应该就可以了
注意config要在.ssh\id_rsa.pub相同目录
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)