900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > windows公网ssh+vnc连接局域网内linux服务器

windows公网ssh+vnc连接局域网内linux服务器

时间:2024-03-07 08:40:17

相关推荐

windows公网ssh+vnc连接局域网内linux服务器

windows公网ssh+vnc连接局域网内linux服务器

因实际问题,需要在windows上远程公网访问linux服务器,同时包含部分界面操作,尝试实现一下。

目前的工具非常多,一般都是通过服务器中转从而提供连接服务,有流量劫持等风险。因此想linux做服务端,windows直接访问,这类软件中vnc较为常见,一般为局域网访问,但使用ssh为隧道可以实现公网远程访问。

环境:windows10,linux-ubuntu18.04桌面版本

1 ssh配置

1.1 windows ssh配置

windows下使用xshell作为连接工具,可百度下载。

1.2 Linux ssh配置

# 安装ssh服务端sudo apt-get install openssh-server# 开机自动启动ssh命令sudo systemctl enable ssh# 设置好后重启系统reboot#查看ssh是否启动,看到Active: active (running)即表示成功sudo systemctl status ssh# 查看ssh状态sudo service ssh status# 关闭ssh开机自动启动命令sudo systemctl disable ssh

1.3 端口映射

Linux服务器在局域网内部,因此需要借助路由器或者光猫进行端口映射

——确认本机ip

ifconfig

——本机IP地址如图:

——输入网关地址进入路由器或者光猫管理页面 这里为192.168.0.1

进入之后输入密码登陆

——设置端口映射规则

服务端口:设置一个设备没有占用的端口即可

内部端口:ssh的默认端口为22

IP地址:本机的局域网内地址

1.4 ssh连接

——查看本机公网地址

curl #速度快

——结果如图

根据显示可以得知自己的运营商,后续连接的时候用相应运营商的网络,速度会极大提高。

——得到地址之后可以进行ssh访问

——连接成功

1.5 针对上述连接不上的解决办法

按照上述操作,结果ssh连接不上;首先可以在windows下cmd打开命令行,使用ping命令测试一下,具体命令如下

ping IP地址 #ip地址为linux服务器端口映射出去以后的地址,而不是本地的局域网地址。这里为113.54.XX.XX

如果发现ping不通,代表你处于的网络是设置了防火墙不允许外网访问,例如学校的教育网,公司的私有网络都是,都是设置了防火墙权限,但是当居家办公或者作业需要访问的时候学校或者公司都是开放了vpn,因此这里可以用这类软件解决。

笔者这里是使用的学校提供的vpn软件及easyconnect(根据实际情况下载),一定要下载客户端,只是网页不行,客户端会在本地虚拟一个网卡,给予本机一个地址,这个地址就具有访问内部网络的权限。

——如图

2 realvnc安装

2.1 下载linux服务端安装包

/en/connect/download/vnc/linux/

2.2 安装

sudo dpkg -i <p_name>

2.3 基本配置

sudo vnclicense -add WHJRK-UXY7V-Q34M9-CZU8L-8KGFA //添加licensesudo systemctl enable vncserver-virtuald.service //开机自启动sudo systemctl start vncserver-virtuald.service //开启服务

2.4 查看状态

sudo netstat -lntp //查看正在监听的端口

虚拟模式下,使用的端口为5999,另外该程序还监听了5902 6902端口(具体个人电脑可能会有不同),只要用监听的端口连接都可以成功;但是目前仅限于局域网。公网访问还需要进行隧道配置。

3 ssh隧道配置

3.1 隧道配置

windows下打开xshell;右击前面步骤1创建的ssh会话——点击隧道——点击添加

本地端口:任意,只要是windows没有使用的都可以,本次填写5999

目标端口:根据步骤2.4查看的该应用正在监听的端口来确定,本次填写5999

点击确定,及添加了一条转发规则

重新连接会话一次,即可看到转移规则下显示绿色

3.2 windows连接linux下vnc服务

——windows打开vnc viewer,点击file——点击new connections

——按照如下图片配置

vnc server:localhost::5999

name:随意

——点击ok

——点击continue

——输入linux用户的密码,并勾选上remember password

3.3 灰屏解决办法

经过查阅realvnc官方文档可知,18.04的gnomes桌面系统不兼容导致,因此安装另外的桌面系统即可,官方给出的三个桌面系统分别是:

官方文档解释:/hc/en-us/articles/360003474792-Why-does-VNC-Server-in-Virtual-Mode-on-Linux-appear-to-hang-or-show-a-gray-screen-

3.3.1 安装xface4

sudo apt-get update //更新源sudo apt-get install xfce4 //安装桌面

3.3.2 修改vnc配置

——查看现有的桌面系统

grep Exec= /usr/share/xsessions/*.desktop

——代开vnc配置文件

vim ~/.vnc/xstartup

增加如下代码

#!/bin/shDESKTOP_SESSION=xfceexport DESKTOP_SESSIONstartxfce4 //根据查看的现有的桌面系统来vncserver-virtual -kill $DISPLAY

reboot //重启系统

系统重启后,先将ssh连接,在进行vnc连接,即可看到桌面

参考文献:

/developer/article/1394134 //Linux环境下ssh的安装及使用

/shuiche/p/6072724.html //service命令使用方法

/hc/en-us/articles/360016058212-How-do-I-adjust-the-screen-resolution-of-a-virtual-desktop-under-Linux-#for-users-running-xvnc-0-0 //分辨率调整文档

/weixin_31456563/article/details/116773021 //网络状态查看

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。