WithCoderWithCoderWithCoder

VNC+frp实现跨网远程访问Ubuntu

    利用VNC+frp自己搭建一个远程访问。我们可以有两种搭建方式:一种是有公网服务器搭建,另一种是无公网服务器搭建。本文介绍有公网服务器时如何搭建。

    1.准备

  1. 公网服务器一台(腾讯云,阿里云,华为云等服务器均可)

  2. 内网穿透工具 frp (免费开源)

  3. 远程控制软件 RealVNC

  2.服务器上部署(服务端)

    首先了解一下frp是什么?

    frp是一个可用于内部网穿透的高级反向代理应用程序,支持tcp,udp协议,为http和https应用协议提供了额外的能力,并且尝试性支持了点对点穿透。

    VNC+frp实现远程访问Ubuntu和树莓派(图1)

    第一步:下载frp到公网服务器

    登录公网服务器下载frp,frp下载地址:https://github.com/fatedier/frp/releases,找到对应版本下载。

    (注:可以输入arch,查看cpu架构,云服务和Ubuntu16.0.4都是x86_64处理器架构,所以下载amd64的包;如果为树莓派,则

下载arm的包)

    VNC+frp实现远程访问Ubuntu和树莓派(图2)

    这里下载的是当前更新的最新版frp_0.29.0_linux_amd64.tar.gz

wget https://github.com/fatedier/frp/releases/download/v0.29.0/frp_0.29.0_linux_amd64.tar.gz

VNC+frp实现远程访问Ubuntu和树莓派(图3)

    可能下载有点慢,等待一会儿(或者直接下载后,传输到服务器)

     第二步:配置frp

    下载完之后进行解压:

tar -xzvf frp_0.29.0_linux_amd64.tar.gz

VNC+frp实现远程访问Ubuntu和树莓派(图4)

    解压之后,找到frps.ini这个文件,并打开:    

cd frp_0.29.0_linux_amd64
sudo nano frps.ini

    参考frps_full.ini,添加一下内容:   

[common]
bind_port = 7000  
token = 12345678  

dashboard_port = 7500 
dashboard_user = admin 
dashboard_pwd = admin

max_pool_count = 5
log_file = ./frps.log  
log_level = info
log_max_days = 3

    1-210520232430625.png

    保存,退出。

    把云服务器的7000,7500等相应的端口放行。我这里的后台管理端口是7600,不是上面的 7500。

    在当前目录下运行frps:

nohup ./frps -c ./frps.ini &

    查看7600端口是否在监听

netstat -ap | grep 7600

VNC+frp实现远程访问Ubuntu和树莓派(图6)

    测试后台能否打开   

#云服务器公网ip + 7600 
http://x.x.x.x:7600

    记得x.x.x.x替换为自己公网ip地址,提示输入账户密码,默认admin

    界面是这样的

VNC+frp实现远程访问Ubuntu和树莓派(图7)

    至此,服务端frp部署成功了。

    3. Ubuntu上部署(客户端)

     第一步:Ubuntu打开桌面共享

    这里操作的Ubuntu系统版本是16.0.4

    搜索出桌面共享,输入sharing

    VNC+frp实现远程访问Ubuntu和树莓派(图8)

    点击打开“Desktop Sharing”,勾选如下配置:

    VNC+frp实现远程访问Ubuntu和树莓派(图9)

    第3那里要设置访问密码,并记住。

    第二步:配置frpc

    下载frp_0.29.0_linux_amd64.tar.gz,解压后打开frpc.ini   

tar -xzvf frp_0.29.0_linux_amd64.tar.gz
cd frp_0.29.0_linux_amd64
sudo nano frpc.ini

    添加以下内容:   

[common]
server_addr = x.x.x.x  
server_port = 7000   
token = 12345678  

[ubuntu-ssh]         
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 8085  

[ubuntu-vnc]        
type = tcp
local_ip = 127.0.0.1
local_port = 5900 
remote_port = 5910

    x.x.x.x要替换为自己的公网ip

    1-21052023322R55.png

    在当前目录下运行frpc.ini文件:

 nohup ./frpc -c ./frpc.ini &

VNC+frp实现远程访问Ubuntu和树莓派(图11)

    查看一下后台,看看是否在线VNC+frp实现远程访问Ubuntu和树莓派(图12)

    说明部署成功了。

    第三步:加入开机启动

    打开Ubuntu的/etc/rc.local开机启动文件:

sudo nano /etc/rc.local

    添加自己的文件启动路径:

nohup  x/x/frpc -c x/x/frpc.ini &

    x/x/需要替换掉,如果不知道frpc路径,可以

 pwd

    VNC+frp实现远程访问Ubuntu和树莓派(图13)

    这里的路径如下:    VNC+frp实现远程访问Ubuntu和树莓派(图14)

    添加完之后,保存退出。

    4.远程连接

    这里用win10系统连接Ubuntu

    4.1 远程连接Ubuntu
    4.1.1 vnc连接:

    到官网下载vnc:https://www.realvnc.com/en/connect/download/viewer/相对应版本的vnc viewer。

    VNC+frp实现远程访问Ubuntu和树莓派(图15)

    下载后安装,打开VNC Viewer软件

    输入 公网ip + 端口号

    VNC+frp实现远程访问Ubuntu和树莓派(图16)

    这个密码是Ubuntu桌面共享时配置的密码,输入密码后确定,这样就完成了远程了连接

VNC+frp实现远程访问Ubuntu和树莓派(图17)

    界面如下:

    VNC+frp实现远程访问Ubuntu和树莓派(图18)

    4.1.2 ssh连接:
ssh -oPort=8085 ubuntu@x.x.x.x

    端口8085,ubuntu 为用户名 ,x.x.x.x为公网ip

    此时,出现了错误:

    ssh_exchange_identification: Connection closed by remote host    VNC+frp实现远程访问Ubuntu和树莓派(图19)    查看ssh是否安装:

sudo ps -e |grep ssh

    VNC+frp实现远程访问Ubuntu和树莓派(图20)

    结果没有安装,需要安装一下:   

sudo apt-get update
sudo apt-get install openssh-server

    再次查看sudo ps -e |grep ssh是否安装

    VNC+frp实现远程访问Ubuntu和树莓派(图21)

    出现了sshd,说明安装成功了。

    再次尝试ssh:

    VNC+frp实现远程访问Ubuntu和树莓派(图22)

    出现了错误“ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!”,打开C:\Users\Administrator\.ssh下文件,用记事本打开known_hosts,删除选中的部分

    VNC+frp实现远程访问Ubuntu和树莓派(图23)

    再试一下,输入ubuntu登录密码成功:

    VNC+frp实现远程访问Ubuntu和树莓派(图24)

    

    参考:https://blog.csdn.net/y459541195/article/details/102522290



欢迎分享交流,转载请注明出处:WithCoder » VNC+frp实现跨网远程访问Ubuntu