DOITAPP
DOIT数据智能产业媒体与服务平台
立即打开
DOITAPP
DOIT数据智能产业媒体与服务平台
立即打开

使用SSH提高Linux系统上VNC服务器的安全性

如果你是Linux或Unix新手,相比命令行界面(CLI),你也许会更喜欢用图形用户界面(GUI),而且当进行远程连接时,你可以使用远程桌面协议和基于图形界面的虚拟网络计算机(VNC)。

一些Linux发行版是由VNC服务器预装的,而其他的你也能找到大量的使用教程,因此我们会跳过基础知识,分享一些安全方面的经验。因此,对于本教程,我们假定你已经安装了一个VNC服务器,并运行在Linux或Unix系统下。

使用SSH保护虚拟网络计算机(VNC)

虽然VNC对登录过程实行了某种加密,但它并不是完全安全,而且登录密码可能被本地网络或互联网上的人嗅探和破解。再加上实际的VNC会话根本没有被加密。

为了成分保护你的VNC会话,你可以通过一个到服务器的SSH连接开辟一个通道。要实现它,你首先要建立一个SSH服务器并打开你要远程访问的机器的SSH端口22。然后在你正进行远程连接的机器上,你可以使用SSH客户端建立一个端口转发。

以下就是你如何使用PuTTY SSH客户端设置端口转发:

1. 输入你的SSH服务器的主机名称或IP并选择私有私钥文件。

2. 接下来,打开 Connection > SSH > Tunnels

3. 在Source Port处,输入当通过本地机器VNC上SSH连接时你要用的端口。你可以会用“5900”——客户端默认端口——这意味着当你通过VNC客户端连接时不需要指定一个端口。

4. 在Designation Port处,为你要连接到的VNC显示/会话输入“localhost:”和端口号,比如“5901”——这样你就得输入“localhost:5901”。

5. 单击“Add”按钮

6. 如果你想保存连接设置,回到Session settings,点击Save按钮。

现在你就可以通过SSH连接到你的服务器了,而且连接后你可以打开你的VNC客户端并连接到“localhost”。一旦成功,如果你之前曾直接连接到互联网,你可能需要关闭VNC端口(可能为5901)。

更改VNC密码

如果你想在Linux下更改你的VNC服务器密码,你可以使用vncpasswd命令,这与你第一次启动VNC桌面时vncserver脚本运行的命令一样。这个命令会改变并(或)储存一个加密版本的密码到密码文件,默认位于HOME/.vnc/passwd。

因为它是不安全的加密,记住,任何有访问密码文件权限的人都可以把它转成纯文本文件并得到密码。

当你准备要改密码时,在终端输入以下命令,不管直接在机器上还是远程使用如PuTTY这样的SSH客户端:

vncpasswd

你会被提示两次来输入新的密码,密码长度为6至8个字符。然后关闭VNC会话/显示,重新启动VNC服务器:

vncserver -kill :1

然后你就可以通过输入以下命令来开启VNC会话或显示:

vncserver

未经允许不得转载:DOIT » 使用SSH提高Linux系统上VNC服务器的安全性