赞
踩
因实际问题,需要在windows上远程公网访问linux服务器,同时包含部分界面操作,尝试实现一下。
目前的工具非常多,一般都是通过服务器中转从而提供连接服务,有流量劫持等风险。因此想linux做服务端,windows直接访问,这类软件中vnc较为常见,一般为局域网访问,但使用ssh为隧道可以实现公网远程访问。
windows下使用xshell作为连接工具,可百度下载。
# 安装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
Linux服务器在局域网内部,因此需要借助路由器或者光猫进行端口映射
——确认本机ip
ifconfig
——本机IP地址如图:
——输入网关地址进入路由器或者光猫管理页面 这里为192.168.0.1
进入之后输入密码登陆
——设置端口映射规则
服务端口:设置一个设备没有占用的端口即可
内部端口:ssh的默认端口为22
IP地址:本机的局域网内地址
——查看本机公网地址
curl cip.cc #速度快
——结果如图
根据显示可以得知自己的运营商,后续连接的时候用相应运营商的网络,速度会极大提高。
——得到地址之后可以进行ssh访问
——连接成功
按照上述操作,结果ssh连接不上;首先可以在windows下cmd打开命令行,使用ping命令测试一下,具体命令如下
ping IP地址 #ip地址为linux服务器端口映射出去以后的地址,而不是本地的局域网地址。这里为113.54.XX.XX
如果发现ping不通,代表你处于的网络是设置了防火墙不允许外网访问,例如学校的教育网,公司的私有网络都是,都是设置了防火墙权限,但是当居家办公或者作业需要访问的时候学校或者公司都是开放了vpn,因此这里可以用这类软件解决。
笔者这里是使用的学校提供的vpn软件及easyconnect(根据实际情况下载),一定要下载客户端,只是网页不行,客户端会在本地虚拟一个网卡,给予本机一个地址,这个地址就具有访问内部网络的权限。
——如图
https://www.realvnc.com/en/connect/download/vnc/linux/
sudo dpkg -i <p_name>
sudo vnclicense -add WHJRK-UXY7V-Q34M9-CZU8L-8KGFA //添加license
sudo systemctl enable vncserver-virtuald.service //开机自启动
sudo systemctl start vncserver-virtuald.service //开启服务
sudo netstat -lntp //查看正在监听的端口
虚拟模式下,使用的端口为5999,另外该程序还监听了5902 6902端口(具体个人电脑可能会有不同),只要用监听的端口连接都可以成功;但是目前仅限于局域网。公网访问还需要进行隧道配置。
windows下打开xshell;右击前面步骤1创建的ssh会话——点击隧道——点击添加
本地端口:任意,只要是windows没有使用的都可以,本次填写5999
目标端口:根据步骤2.4查看的该应用正在监听的端口来确定,本次填写5999
点击确定,及添加了一条转发规则
重新连接会话一次,即可看到转移规则下显示绿色
——windows打开vnc viewer,点击file——点击new connections
——按照如下图片配置
vnc server:localhost::5999
name:随意
——点击ok
——点击continue
——输入linux用户的密码,并勾选上remember password
经过查阅realvnc官方文档可知,18.04的gnomes桌面系统不兼容导致,因此安装另外的桌面系统即可,官方给出的三个桌面系统分别是:
官方文档解释:https://help.realvnc.com/hc/en-us/articles/360003474792-Why-does-VNC-Server-in-Virtual-Mode-on-Linux-appear-to-hang-or-show-a-gray-screen-
sudo apt-get update //更新源
sudo apt-get install xfce4 //安装桌面
3.3.2 修改vnc配置
——查看现有的桌面系统
grep Exec= /usr/share/xsessions/*.desktop
——代开vnc配置文件
vim ~/.vnc/xstartup
增加如下代码
#!/bin/sh
DESKTOP_SESSION=xfce
export DESKTOP_SESSION
startxfce4 //根据查看的现有的桌面系统来
vncserver-virtual -kill $DISPLAY
reboot //重启系统
系统重启后,先将ssh连接,在进行vnc连接,即可看到桌面
https://cloud.tencent.com/developer/article/1394134 //Linux环境下ssh的安装及使用
https://www.cnblogs.com/shuiche/p/6072724.html //service命令使用方法
https://help.realvnc.com/hc/en-us/articles/360016058212-How-do-I-adjust-the-screen-resolution-of-a-virtual-desktop-under-Linux-#for-users-running-xvnc-0-0 //分辨率调整文档
https://blog.csdn.net/weixin_31456563/article/details/116773021 //网络状态查看
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。