标签 VNC 下的文章

微软:Windows 11 将重构操作系统体验

微软纳德拉对 Windows 11 给予了非常高的期望,他希望通过 Windows 11 来“重新构建操作系统的全部”。纳德拉说,“Windows 11 是我们操作系统十年来最大的一次更新。我们正在重新构想一切 —— 从 Windows 平台到商店 —— 以帮助人们和组织提高生产力和安全性,并为开发者和创作者建立一个更加开放的生态系统。”

微软表示,Windows 11 预览版的下载量超过了 Windows Insider 计划中的其它 Windows 系统。Windows 11 在被调查 PC 中比重已经接近于 1%。微软刚刚发布了 Windows 11 的第一个 Beta 测试版,预计将在今年秋季推出正式版。

不能不说微软的 Windows 曾经改变了操作系统的定义,但是 Windows 11 是否能续写传奇,还需要时间来验证。

新的安卓恶意软件通过 VNC 记录智能手机以窃取密码

其他安卓恶意软件通常依靠漂浮在合法应用程序上的假登录屏幕来收集受害者的凭证,这款名为 Vultur 的恶意软件在受感染的手机上打开一个 VNC 服务器,并将屏幕截图广播给攻击者的命令与控制服务器,Vultur 操作员在那里提取所需应用程序的密码。

这真是“有创意的” VNC 用法。

NTFS3 内核驱动发布了第 27 个版本,但仍未推向主线

Paragon 公司的 NTFS3 驱动以前是由该公司提供商业支持的,但他们现在一直在积极工作,使该驱动进入内核主线,并承诺将继续维护它。这个 NTFS3 驱动比现有的树上内核驱动要好,有更可靠的读写支持和其他没有的功能,也比基于 FUSE 的 NTFS 驱动工作得要好。

之前 Linus Torvalds 曾呼吁 Paragon 发送 NTFS3 的拉取请求。但目前还没有人提出拉动请求,而是发布了这个驱动程序的第 27 个轮转版本。如果没有别的阻碍,这个新的 NTFS 驱动有可能在一个月后的 Linux 5.15 合并窗口中进入主线。

虽然 Linus 有点迫不及待了,但是可能 NTFS3 的开发人员觉得他们的驱动仍然距离进入主线尚有距离吧。

VNC( 虚拟网络计算 Virtual Network Computing )服务器是基于 GUI 的桌面共享平台,它可让你访问远程桌面计算机。在 Centos 8 和 RHEL 8 系统中,默认未安装 VNC 服务器,它需要手动安装。在本文中,我们将通过简单的分步指南,介绍如何在 Centos 8 / RHEL 8 上安装 VNC 服务器。

在 Centos 8 / RHEL 8 上安装 VNC 服务器的先决要求

要在你的系统中安装 VNC 服务器,请确保你的系统满足以下要求:

  • CentOS 8 / RHEL 8
  • GNOME 桌面环境
  • root 用户权限
  • DNF / YUM 软件包仓库

在 Centos 8 / RHEL 8 上安装 VNC 服务器的分步指导

步骤 1)安装 GNOME 桌面环境

在 CentOS 8 / RHEL 8 中安装 VNC 服务器之前,请确保已安装了桌面环境(DE)。如果已经安装了 GNOME 桌面或安装了 GUI 支持,那么可以跳过此步骤。

在 CentOS 8 / RHEL 8 中,GNOME 是默认的桌面环境。如果你的系统中没有它,请使用以下命令进行安装:

[root@linuxtechi ~]# dnf groupinstall "workstation"
或者
[root@linuxtechi ~]# dnf groupinstall "Server with GUI

成功安装上面的包后,请运行以下命令启用图形模式:

[root@linuxtechi ~]# systemctl set-default graphical

现在重启系统,进入 GNOME 登录页面(LCTT 译注:你可以通过切换运行态来进入图形界面)。

[root@linuxtechi ~]# reboot

重启后,请取消注释 /etc/gdm/custom.conf 中的 WaylandEnable=false,以使通过 vnc 进行的远程桌面会话请求由 GNOME 桌面的 xorg 处理,来代替 Wayland 显示管理器。

注意: Wayland 是 GNOME 中的默认显示管理器 (GDM),并且未配置用于处理 X.org 等远程渲染的 API。

步骤 2)安装 VNC 服务器(tigervnc-server)

接下来,我们将安装 VNC 服务器,有很多 VNC 服务器可以选择,出于安装目的,我们将安装 TigerVNC 服务器。它是最受欢迎的 VNC 服务器之一,并且高性能还独立于平台,它使用户可以轻松地与远程计算机进行交互。

现在,使用以下命令安装 TigerVNC 服务器:

[root@linuxtechi ~]# dnf install tigervnc-server tigervnc-server-module -y

步骤 3)为本地用户设置 VNC 密码

假设我们希望用户 pkumar 使用 VNC 进行远程桌面会话,然后切换到该用户并使用 vncpasswd 命令设置其密码,

[root@linuxtechi ~]# su - pkumar
[root@linuxtechi ~]$ vncpasswd
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
A view-only password is not used
[root@linuxtechi ~]$
[root@linuxtechi ~]$ exit
logout
[root@linuxtechi ~]#

步骤 4)设置 VNC 服务器配置文件

下一步是配置 VNC 服务器配置文件。创建含以下内容的 /etc/systemd/system/[email protected],以便为上面的本地用户 pkumar 启动 tigervnc-server 的服务。

[root@linuxtechi ~]# vim /etc/systemd/system/[email protected]
[Unit]
Description=Remote Desktop VNC Service
After=syslog.target network.target

[Service]
Type=forking
WorkingDirectory=/home/pkumar
User=pkumar
Group=pkumar

ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver -autokill %i
ExecStop=/usr/bin/vncserver -kill %i

[Install]
WantedBy=multi-user.target

保存并退出文件,

注意:替换上面文件中的用户名为你自己的。

默认情况下,VNC 服务器在 tcp 端口 5900+n 上监听,其中 n 是显示端口号,如果显示端口号为 “1”,那么 VNC 服务器将在 TCP 端口 5901 上监听其请求。

步骤 5)启动 VNC 服务并允许防火墙中的端口

我将显示端口号设置为 1,因此请使用以下命令在显示端口号 “1” 上启动并启用 vnc 服务,

[root@linuxtechi ~]# systemctl daemon-reload
[root@linuxtechi ~]# systemctl start vncserver@:1.service
[root@linuxtechi ~]# systemctl enable vncserver@:1.service
Created symlink /etc/systemd/system/multi-user.target.wants/vncserver@:1.service → /etc/systemd/system/[email protected].
[root@linuxtechi ~]#

使用下面的 netstatss 命令来验证 VNC 服务器是否开始监听 5901 上的请求,

[root@linuxtechi ~]# netstat -tunlp | grep 5901
tcp        0      0 0.0.0.0:5901            0.0.0.0:*               LISTEN      8169/Xvnc
tcp6       0      0 :::5901                 :::*                    LISTEN      8169/Xvnc
[root@linuxtechi ~]# ss -tunlp | grep -i 5901
tcp   LISTEN  0       5                    0.0.0.0:5901           0.0.0.0:*      users:(("Xvnc",pid=8169,fd=6))                    
tcp   LISTEN  0       5                       [::]:5901              [::]:*      users:(("Xvnc",pid=8169,fd=7))                    
[root@linuxtechi ~]#

使用下面的 systemctl 命令验证 VNC 服务器的状态,

[root@linuxtechi ~]# systemctl status vncserver@:1.service

vncserver-status-centos8-rhel8

上面命令的输出确认在 tcp 端口 5901 上成功启动了 VNC。使用以下命令在系统防火墙中允许 VNC 服务器端口 “5901”,

[root@linuxtechi ~]# firewall-cmd --permanent --add-port=5901/tcp
success
[root@linuxtechi ~]# firewall-cmd --reload
success
[root@linuxtechi ~]#

步骤 6)连接到远程桌面会话

现在,我们已经准备就绪,可以查看远程桌面连接是否正常工作。要访问远程桌面,请在 Windows / Linux 工作站中启动 VNC Viewer,然后输入 VNC 服务器的 IP 地址和端口号,然后按回车。

VNC-Viewer-Windows10

接下来,它将询问你的 VNC 密码。输入你先前为本地用户创建的密码,然后单击 “OK” 继续。

VNC-Viewer-Connect-CentOS8-RHEL8-VNC-Server

现在你可以看到远程桌面,

VNC-Desktop-Screen-CentOS8

就是这样,你已经在 Centos 8 / RHEL 8 中成功安装了 VNC 服务器。

总结

希望这篇在 Centos 8 / RHEL 8 上安装 VNC 服务器的分步指南为你提供了轻松设置 VNC 服务器并访问远程桌面的所有信息。请在下面的评论栏中提供你的意见和建议。下篇文章再见。谢谢再见!!!


via: https://www.linuxtechi.com/install-configure-vnc-server-centos8-rhel8/

作者:Pradeep Kumar 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

在本教程中,我们将学习安装 VNC 服务器并使用 TLS 加密保护 VNC 会话。

此方法已经在 CentOS 6&7 上测试过了,但是也可以在其它的版本/操作系统上运行(RHEL、Scientific Linux 等)。

(推荐阅读:保护 SSH 会话终极指南

安装 VNC 服务器

在机器上安装 VNC 服务器之前,请确保我们有一个可用的 GUI(图形用户界面)。如果机器上还没有安装 GUI,我们可以通过执行以下命令来安装:

yum groupinstall "GNOME Desktop"

现在我们将 tigervnc 作为我们的 VNC 服务器,运行下面的命令运行:

# yum install tigervnc-server

安装完成后,我们将创建一个新的用户访问服务器:

# useradd vncuser

并使用以下命令为其分配访问 VNC 的密码:

# vncpasswd vncuser

我们在 CentOS 6&7 上配置会有一点改变,我们首先看 CentOS 6 的配置。

CentOS 6

现在我们需要编辑 VNC 配置文件:

# vim /etc/sysconfig/vncservers

并添加下面这几行:

[ …]
VNCSERVERS= "1:vncuser"
VNCSERVERARGS[1]= "-geometry 1024×768″

保存文件并退出。接下来重启 vnc 服务使改动生效:

# service vncserver restart

并在启动时启用它:

# chkconfig vncserver on

CentOS 7

在 CentOS 7 上,/etc/sysconfig/vncservers 已经改为 /lib/systemd/system/[email protected]。我们将使用这个配置文件作为参考,所以创建一个文件的副本,

# cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service

接下来,我们将编辑文件以包含我们创建的用户:

# vim /etc/systemd/system/vncserver@:1.service

编辑下面 2 行中的用户:

ExecStart=/sbin/runuser -l vncuser -c "/usr/bin/vncserver %i"
PIDFile=/home/vncuser/.vnc/%H%i.pid

保存文件并退出。接下来重启服务并在启动时启用它:

# systemctl restart vncserver@:1.service
# systemctl enable vncserver@:1.service

现在我们已经设置好了 VNC 服务器,并且可以使用 VNC 服务器的 IP 地址从客户机连接到它。但是,在此之前,我们将使用 TLS 加密保护我们的连接。

保护 VNC 会话

要保护 VNC 会话,我们将首先配置加密方法。我们将使用 TLS 加密,但也可以使用 SSL 加密。执行以下命令在 VNC 服务器上使用 TLS 加密:

# vncserver -SecurityTypes=VeNCrypt,TLSVnc

你将被要求输入密码来访问 VNC(如果使用其他用户,而不是上述用户)。

secure vnc server

现在,我们可以使用客户机上的 VNC 浏览器访问服务器,使用以下命令以安全连接启动 vnc 浏览器:

# vncviewer -SecurityTypes=VeNCrypt,TLSVnc 192.168.1.45:1

这里,192.168.1.45 是 VNC 服务器的 IP 地址。

secure vnc server

输入密码,我们可以远程访问服务器,并且也是 TLS 加密的。

这篇教程就完了,欢迎随时使用下面的评论栏提交你的建议或疑问。


via: http://linuxtechlab.com/secure-vnc-server-tls-encryption/

作者:Shusain 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

1、编辑/etc/vmware/firewall/service.xml

vi /etc/vmware/firewall/service.xml 

2、在该文件重中倒数第二行开始添加以下内容:

<!-- Firewall configuration information for VNC --> 
<service id='0040'>
    <id>VNC</id>
    <rule id='0000'>
      <direction>inbound</direction>
      <protocol>tcp</protocol>
      <porttype>dst</porttype>
      <port>
        <begin>40000</begin>
        <end>60000</end>
      </port>
    </rule>
    <enabled>true</enabled>
    <required>false</required>
 </service> 

3、执行以下命令以使配置文件生效:

esxcli network firewall refresh

4、查看是否已经生效:

esxcli network firewall ruleset list | grep VNC
VNC                  true

提问: 我想在VPS中安装CentOS桌面,并可以直接从我家远程访问GUI桌面。在VPS上设置和访问CentOS远程桌面有什么建议吗?

如何远程办公或者远程弹性化工作制在技术领域正变得越来越流行。这个趋势背后的一个技术就是远程桌面。你的桌面环境在云中,你可以在任何你去的地方,或者在家或者工作场所访问你的远程桌面。

这个教程介绍如何VPS中设置基于CentOS的远程桌面。现在,我们会先展示CentOS的基础环境。

我们假设你已经创建了CentOS 7的VPS实例(比如,使用DigitalOcean 或者 Amazon EC2)。请确保你的VPS实例有至少1GB的内存。不然,CentOS将会在你访问远程桌面的时候会崩溃。

第一步: 安装CentOS桌面

如果你现在安装的CentOS版本是没有桌面的最小版本,你需要先在VPS上安装桌面(比如GNOME)。比如,DigitalOcean的镜像就是最小版本,它需要如下安装桌面GUI

# yum groupinstall "GNOME Desktop" 

在安装完成之后重启VPS。

第二步:安装和配置VNC服务器

接下来就是安装和配置VNC服务器。我们使用的是TigerVNC,一个开源的VNC服务实现。

# yum install tigervnc-server 

现在创建一个用户账户(比如:xmodulo)用来访问远程桌面。

# useradd xmodulo
# passwd xmodulo 

当一个用户尝试使用VNC访问远程桌面时,VNC守护进程就会启动来处理这个请求。这意味着你需要为每个用户创建一个独立的VNC配置文件。

CentOS依靠systemd来管理和配置系统服务。所以我们将使用systemd来为用户xmodulo配置VNC服务器。

首先让我们使用下面任意一条命令来检查VNC服务器的状态。

# systemctl status vncserver@:.service
# systemctl is-enabled [email protected] 

默认的,刚安装的VNC服务并没有激活(禁用)。

现在复制一份通用的VNC服务文件来为用户xmodulo创建一个VNC服务配置。

# cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service 

用本文编辑器来打开配置文件,用实际的用户名(比如:xmodulo)来替换[Service]下面的。同样。在ExecStart后面追加 "-geometry " 参数。最后,要修改下面“ExecStart”和“PIDFile”两行。

# vi /etc/systemd/system/vncserver@:1.service 

[Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/sbin/runuser -l xmodulo -c "/usr/bin/vncserver %i -geometry 1024x768"
PIDFile=/home/xmodulo/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

现在为用户xmodulo设置密码(可选)。首先切换到该用户,并运行vncserver命令。

# su - xmodulo
# vncserver

你会被提示输入用户的VNC密码。密码设置完成后,你下次需要用这个密码来访问你的远程桌面。

最后,重新加载服务来使新的VNC配置生效:

# systemctl daemon-reload

在启动时自动启动VNC服务:

# systemctl enable vncserver@:1.service

检查vnc服务正在监听的端口:

# netstat -tulpn | grep vnc 

端口5901是VNC默认的客户端连接到VNC服务器使用的端口。

第三步:通过SSH连接到远程桌面

从设计上说,VNC使用的远程帧缓存(RFB)并不是一种安全的协议,那么在VNC客户端上直接连接到VNC服务器上并不是一个好主意。任何敏感信息比如密码都可以在VNC流量中被轻易地泄露。因此,我强烈建议使用SSH隧道来加密你的VNC流量

在你要运行VNC客户端的本机上,使用下面的命令来创建一个连接到远程VPS的SSH通道。当被要输入SSH密码时,输入用户的密码。

$ ssh xmodulo@<VPS-IP-address> -L 5901:127.0.0.1:5901 

用你自己的VNC用户名来替换“xmodulo”,并填上你自己的VPS IP地址。

一旦SSH通道建立之后,远程VNC流量就会通过ssh通道路由并发送到127.0.0.1:5901。

现在启动你最爱的VNC客户端(比如:vinagre),来连接到127.0.0.1:5901。

你将被要求输入VNC密码。当你输入VNC密码时,你就可以安全地连接到CentOS的远程桌面了。

然后就会看到如题图的显示。


via: http://ask.xmodulo.com/centos-remote-desktop-vps.html

作者:Dan Nanni 译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

这是一个关于怎样在你的 CentOS 7 上安装配置 VNC 服务的教程。当然这个教程也适合 RHEL 7 。在这个教程里,我们将学习什么是 VNC 以及怎样在 CentOS 7 上安装配置 VNC 服务器

我们都知道,作为一个系统管理员,大多数时间是通过网络管理服务器的。在管理服务器的过程中很少会用到图形界面,多数情况下我们只是用 SSH 来完成我们的管理任务。在这篇文章里,我们将配置 VNC 来提供一个连接我们 CentOS 7 服务器的方法。VNC 允许我们开启一个远程图形会话来连接我们的服务器,这样我们就可以通过网络远程访问服务器的图形界面了。

VNC 服务器是一个自由开源软件,它可以让用户可以远程访问服务器的桌面环境。另外连接 VNC 服务器需要使用 VNC viewer 这个客户端。

一些 VNC 服务器的优点:

  • 远程的图形管理方式让工作变得简单方便。
  • 剪贴板可以在 CentOS 服务器主机和 VNC 客户端机器之间共享。
  • CentOS 服务器上也可以安装图形工具,让管理能力变得更强大。
  • 只要安装了 VNC 客户端,通过任何操作系统都可以管理 CentOS 服务器了。
  • 比 ssh 图形转发和 RDP 连接更可靠。

那么,让我们开始安装 VNC 服务器之旅吧。我们需要按照下面的步骤一步一步来搭建一个可用的 VNC。

首先,我们需要一个可用的桌面环境(X-Window),如果没有的话要先安装一个。

注意:以下命令必须以 root 权限运行。要切换到 root ,请在终端下运行“sudo -s”,当然不包括双引号(“”)

1. 安装 X-Window

首先我们需要安装 X-Window,在终端中运行下面的命令,安装会花费一点时间。

# yum check-update
# yum groupinstall "X Window System"

installing x windows

#yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts

install gnome classic session

### 设置默认启动图形界面
# unlink /etc/systemd/system/default.target
# ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

configuring graphics

# reboot

在服务器重启之后,我们就有了一个工作着的 CentOS 7 桌面环境了。

现在,我们要在服务器上安装 VNC 服务器了。

2. 安装 VNC 服务器

现在要在我们的 CentOS 7 上安装 VNC 服务器了。我们需要执行下面的命令。

# yum install tigervnc-server -y

vnc server

3. 配置 VNC

然后,我们需要在 /etc/systemd/system/ 目录里创建一个配置文件。我们可以将 /lib/systemd/sytem/[email protected] 拷贝一份配置文件范例过来。

# cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service

copying vnc server configuration

接着我们用自己最喜欢的编辑器(这儿我们用的 nano )打开 /etc/systemd/system/vncserver@:1.service ,找到下面这几行,用自己的用户名替换掉 。举例来说,我的用户名是 linoxide 所以我用 linoxide 来替换掉 :

ExecStart=/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
PIDFile=/home/<USER>/.vnc/%H%i.pid

替换成

ExecStart=/sbin/runuser -l linoxide -c "/usr/bin/vncserver %i"
PIDFile=/home/linoxide/.vnc/%H%i.pid

如果是 root 用户则

ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid

configuring user

好了,下面重启 systemd 。

# systemctl daemon-reload

最后还要设置一下用户的 VNC 密码。要设置某个用户的密码,必须要有能通过 sudo 切换到用户的权限,这里我用 linoxide 的权限,执行“su linoxide”就可以了。

# su linoxide
$ sudo vncpasswd

setting vnc password

确保你输入的密码多于6个字符

4. 开启服务

用下面的命令(永久地)开启服务:

$ sudo systemctl enable vncserver@:1.service

启动服务。

$ sudo systemctl start vncserver@:1.service

5. 防火墙设置

我们需要配置防火墙来让 VNC 服务正常工作。

$ sudo firewall-cmd --permanent --add-service vnc-server
$ sudo systemctl restart firewalld.service

allowing firewalld

现在就可以用 IP 和端口号(LCTT 译注:例如 192.168.1.1:1 ,这里的端口不是服务器的端口,而是视 VNC 连接数的多少从1开始排序)来连接 VNC 服务器了。

6. 用 VNC 客户端连接服务器

好了,现在已经完成了 VNC 服务器的安装了。要使用 VNC 连接服务器,我们还需要一个在本地计算机上安装的仅供连接远程计算机使用的 VNC 客户端。

remote access vncserver from vncviewer

你可以用像 Tightvnc viewerRealvnc viewer 的客户端来连接到服务器。

要用更多的用户连接,需要创建配置文件和端口,请回到第3步,添加一个新的用户和端口。你需要创建 vncserver@:2.service 并替换配置文件里的用户名和之后步骤里相应的文件名、端口号。请确保你登录 VNC 服务器用的是你之前配置 VNC 密码的时候使用的那个用户名

VNC 服务本身使用的是5900端口。鉴于有不同的用户使用 VNC ,每个人的连接都会获得不同的端口。配置文件名里面的数字告诉 VNC 服务器把服务运行在5900的子端口上。在我们这个例子里,第一个 VNC 服务会运行在5901(5900 + 1)端口上,之后的依次增加,运行在5900 + x 号端口上。其中 x 是指之后用户的配置文件名 vncserver@:x.service 里面的 x 。

在建立连接之前,我们需要知道服务器的 IP 地址和端口。IP 地址是一台计算机在网络中的独特的识别号码。我的服务器的 IP 地址是96.126.120.92,VNC 用户端口是1。

执行下面的命令可以获得服务器的公网 IP 地址(LCTT 译注:如果你的服务器放在内网或使用动态地址的话,可以这样获得其公网 IP 地址)。

# curl -s checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//'

总结

好了,现在我们已经在运行 CentOS 7 / RHEL 7 的服务器上安装配置好了 VNC 服务器。VNC 是自由开源软件中最简单的一种能实现远程控制服务器的工具,也是一款优秀的 Teamviewer Remote Access 替代品。VNC 允许一个安装了 VNC 客户端的用户远程控制一台安装了 VNC 服务的服务器。下面还有一些经常使用的相关命令。好好玩!

其他命令:

  • 关闭 VNC 服务。
# systemctl stop vncserver@:1.service
  • 禁止 VNC 服务开机启动。
# systemctl disable vncserver@:1.service
  • 关闭防火墙。
# systemctl stop firewalld.service

via: http://linoxide.com/linux-how-to/install-configure-vnc-server-centos-7-0/

作者:Arun Pyasi 译者:boredivan 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出