VNC+SSH的配置与使用(Debian xfce4)

服务器端设置

安装vncserver:

	sudo apt-get install tightvncserver

配置桌面启动脚本文件 ~/.vnc/xstartup,文件不存在则新建,内容如下:

    #!/bin/sh
    
    unset SESSION_MANAGER
    unset DBUS_SESSION_BUS_ADDRESS
    startxfce4 & pulseaudio &
    fcitx &
    
    [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
    [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
    xsetroot -solid grey

使文件可执行:

	chmod +x ~/.vnc/xstartup

修改SSH配置文件 /etc/sshd_config:

SSH服务的基本设置请查看另一篇文章 Debian Linux SSH/SFTP 服务设置 ,这里仅说明SSH连接VNC要做的必要修改。

  • 首先在全局设置区禁止用户使用密码登录而只能用私匙文件登录:

      PasswordAuthentication no
      PermitEmptyPasswords no
      PermitRootLogin no
      StrictModes yes
      
      RSAAuthentication yes
      PubkeyAuthentication yes
      AuthorizedKeysFile  %h/.ssh/authorized_keys
    
  • 同时还要禁止X11和TCP转发:

      X11Forwarding no
      X11DisplayOffset 10
      PrintMotd no
      PrintLastLog yes
      AllowTcpForwarding no
      TCPKeepAlive yes
    
  • 单独设置允许使用vnc或SFTP的个别用户:

      Subsystem sftp internal-sftp
      AllowGroups xvnc sftp
      
      Match Group sftp
      ForceCommand internal-sftp
      ChrootDirectory /home/SFTP
      PasswordAuthentication yes
      
      Match Group xvnc
      X11Forwarding yes
      AllowTcpForwarding yes
    

    上例中允许通过私匙文件使用vnc的是“xvnc”组,允许通过SFTP密码登录的是sftp组。

客户端设置

Remmina安装

VNC连接软件使用Remmina,它只能在Linux下使用。我还没发现哪个Windows下的应用程序能够通过SSH私匙使用VNC。

sudo apt-get install remmina remmina-plugin-vnc

SSH连接到服务器并开启vnc桌面

安装成功后打开Remmina,新建一个SSH连接,认证类型当然是使用私匙。SSH连接到服务器后,使用下面命令开启vnc桌面服务:

vncserver -name myVNC -geometry  1820x960  -httpport 5901  :1

如果第一次启用vnc服务,会提示你设置访问密码。如果没有错误信息,断开SSH连接即可。

通过SSH通道连接VNC

如果你愿意,上一步开启的VNC桌面完全可以只使用密码就能访问,但数据是不加密的。我们费劲设置SSH的目的就是为了安全。

在Remmina中新建一个VNC查看器连接(VNC viewer),服务器通常是ip或域名加编号的形式,如:

192.168.1.106:1

色彩深度和画质按需选择。然后赚到“SSH Tunnel”(SSH通道)标签页设置启用SSH通道,SSH验证方式选择为私匙文件即可。保存后双击该设置即可连接,会有私匙密码和VNC密码输入的提示。

顺利的话你会看到跟服务器本地登录差不多的桌面,但这是一个新的登录,桌面是新的。

使用结束后记得通过SSH关闭VNC服务,否则他人有可能使用密码(而不需要私匙文件)就能访问你的桌面:

vncserver -kill :1

作者: ZGUANG@LZU
Created: 2018-10-19 五 09:54

你可能感兴趣的:(Linux,&,Debian)