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

2023-05-16

服务器端设置

安装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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VNC+SSH的配置与使用(Debian xfce4) 的相关文章

  • 无法通过 Python 子进程进行 SSH

    我需要通过堡垒 ssh 进入机器 因此 该命令相当长 ssh i
  • 无法让 TeamCity 使用默认私钥向 GitHub 进行身份验证

    我正在尝试让 TeamCity 构建我的私人 GitHub 存储库 当我显式设置密钥文件的路径时 我能够成功让我的 VCS 根通过连接测试 然而 尽管进行了大量的谷歌搜索 当我使用 默认私钥 选项时 我无法让它工作 我明白了com jcra
  • Windows 上的 SSH 没有 kex aleg 问题

    我在 Windows 上安装了 OpenSSH 然而 我得到没有小桶阿尔格尝试连接到我的 Amazon EC2 实例时出现问题 我可以使用相同的身份文件通过 WinSCP 和 Putty 连接它 我还在我的 etc sshd config
  • 通过 ssh 运行 Bash 脚本

    我正在尝试编写一个 Bash 脚本 它将通过 SSH 连接到计算机并创建一个目录 长期目标有点复杂 但现在我从简单的开始 然而 虽然很简单 但我似乎不太明白 这是我的代码 bin bash ssh T email protected cdn
  • 使用 JSch 分别为各个提示提供输入

    问题是 SSH 连接需要在常规登录后提供另一个用户 ID 和密码信息 我正在使用 JSch 连接到远程服务器 它接受以下形式的输入InputStream 和这个InputStream只能通过一次 由于会话是交互式的 这会导致问题 我尝试将输
  • 通过 SSH 的 sbt (Scala) 结果找不到命令,但如果我自己这样做就可以工作

    所以我正在尝试做一些涉及跑步的事情sbt通过 SSH 命令 这就是我正在尝试的 ssh my username
  • 如何通过主机从外部 SSH 到 VirtualBox 来宾? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有一个在 Windows 7 计算机上运行的 Ubuntu 虚拟机 如何设置才能通过 SSH 从外部访问 Web 服务器 我找到了步骤
  • 如何在 PHP7 和 Debian 上安装 imagick?

    我需要安装 Imagick 但我有 php7 和 debian 我尝试这样做 apt get install php imagick 但我有这个错误 Unable to locate package php imagick 我也尝试这样做
  • 如何使用 phpStorm 从远程服务器删除文件

    所以我已经将远程服务器添加到 phpStrom 中 我可以在那里更改文件 但是 如果我删除文件 它们只会从我的计算机上消失 而不是在服务器上消失 如何使用 phpStorm 从远程服务器删除文件 To manually从远程位置删除文件 使
  • SSH:连接被远程服务器关闭

    我正在尝试 ssh 登录我的远程服务器 但每当我尝试使用 ssh 命令通过终端登录时 ssh root ip address 我收到错误 Connection closed by ip address 我检查了主机拒绝和主机允许 文件中没有
  • 我在树莓派上运行 debian wheezy 的 Java 蓝牙服务器需要 bluecove 本机库 - 在哪里可以找到它?

    我有一个在 Windows 机器上运行的 Java 蓝牙服务器 我想将其移植到 Raspberry pi 我在 Java 方面有很多经验 但在蓝牙或 Linux 方面却很少 pi 目前有 Debian Wheezy 操作系统 我已经安装了蓝
  • 使用knife ec2插件在VPC私有子网中创建虚拟机

    尽管我已经写了相当多的 Chef 文章 但我对 AWS VPC 和管理网络流量 尤其是堡垒主机 还相当陌生 使用 Knife ec2 插件 我希望能够从我的开发人员工作站动态创建和引导虚拟机 VM 应能够存在于我的 VPC 的公有子网或私有
  • 如何使用python远程执行进程

    我想使用 Python 连接到远程服务器并在远程服务器上执行进程 我希望能够获取进程的返回代码和标准错误 如果有 以前有没有人做过类似的事情 我已经用 ssh 完成了 但我想从 Python 脚本中完成 Cheers Use the 名为
  • 如何临时更改git ssh用户进行远程推送?

    是否可以临时更改 ssh 用户为 git Push Remote Master 而不会弄乱 git config 或 git Remote 或使用整个远程 URL root host gitrepo git push otheruser r
  • Linux 软件包存储库中的 *​​-dev 软件包实际上包含什么?

    我的问题非常基本 我现在的知识也是如此 我是 Linux 的长期用户 但直到最近才对编程产生了浓厚的兴趣 我看到 Ubuntu 存储库中的许多流行应用程序都有 dev 软件包 例如洋泾浜开发者此外pidgin 我的问题是这样的 这些包裹里有
  • SmartGIT 不要求 ssh 密钥

    切换到新计算机后 我必须再次安装 Windows 版 SmartGIT 现在尝试克隆我的 fedorahosted org repository 密钥存储在 C User myusername ssh SmartGIT 附带了全新安装 并且
  • ssh 连接超时

    我无法在 git 中 ssh 到 github bitbucket 或 gitlab 我通常会收到以下错误消息 如何避免它 输出 ssh T email protected cdn cgi l email protection i ssh
  • 将 RSA 与 Eclipse 远程系统资源管理器结合使用?

    我在 Windows 7 计算机上的 Eclipse 中使用远程系统资源管理器 RSE 插件 通过 SFTP 在远程 Linux 服务器上编辑文件 我在我的机器和 Linux 服务器之间设置了 RSA 密钥对 当我在 Cygwin 命令提示
  • 允许 Amazon VPC A 访问 VPC B 上的新私有子网吗?

    我有一个现有的 VPC vpcA 并且最近设置了一个新的 VPC vpcB 同时具有私有子网 privateSubnet 和公共子网 publicSubnet 我想允许来自以下位置的连接vpcA to vpcB vpcB设置了堡垒服务器以允
  • Spark EC2 SSH连接错误SSH返回代码255

    每次我尝试通过 Spark ec2 spark ec2 py 文件在 AWS 上启动 Spark 集群时 都会收到 SSH 连接错误 最终解决了 但是浪费了很多时间 在您将其标记为重复之前 我知道有很多类似的问题被问到 但有两个关键区别 a

随机推荐

  • Setup Kubernetes on a Raspberry Pi Cluster easily the official way!

    转自 http blog hypriot com post setup kubernetes raspberry pi cluster Kubernetes shares the pole position with Docker in t
  • R语言网络分析1:BioC的graph图系

    BioC项目中 xff0c 网络图的处理通过不同的软件包进行 xff1a graph xff1a 图实现方法 类定义 xff08 graphNEL graphAM和graphBAM xff09 和基本函数RBGL xff1a 针对BioC
  • Doom-Emacs安装和基本使用方法

    1 Doom Emacs用前须知 Doom Emacs xff08 下面称为Doom xff09 是Emacs的一个比较复杂的配置包 xff0c 主要目的是使Emacs拥有Vim的出色编辑能力 xff0c 同时让新手配置起来相对容易些 但后
  • R语言网络分析2:graph函数和应用

    产生网络 自定义 BioC 中用得最多的网络类型可能是 graphNEL 类 使用 graphNEL 类的同名函数可以产生自定义网络 xff1a library graph str graphNEL gt function nodes 61
  • RAID扩容步骤

    以下为Debian系统的操作记录 xff0c DELL T630服务器 xff0c RAID5 xff0c 原有3块8T盘 xff0c 添加了2块8T新盘 xff0c 没有发生什么意外 1 添加硬盘 为保险起见 xff0c 关机后安装硬盘
  • R语言时间处理函数

    1 POSIXct和POSIXlt 把表示时间的字符串转成时间类型数据 xff0c 在R语言里面有两个基本的函数 xff1a as POSIXlt 和 as POSIXct 两者都是S3泛型函数 xff0c 根据参数的数据类型选择不同的转换
  • 时间序列分析:ts/mts基础数据类型

    时间序列是以时间为索引的数据 时间索引为等间距递增的时间序列称为规则时间序列 xff0c 其他为不规则时间序列 由于R语言核心组件的构建坚持以通用性为原则 xff0c 因此R的基础包中只定义了规则时间序列 xff0c 而不规则时间序列的定义
  • nginx+php+unoconv 失败?

    原因 xff1a web服务运行用户对自己的home目录没有写入权限 如果网站目录是通过fstab直接bind到 var www的 xff0c 要特别注意检查bind以后 var www目录的权限 xff08 服务器使用unoconv占用C
  • Emacs键盘练习方法

    Emacs里面什么都有 xff0c 比如俄罗斯方块游戏 xff08 tetris xff09 我要说的是 xff0c Emacs里的tetris这不只是个游戏 xff0c 它还是练习键盘的终极武器 玩这个游戏最常用的三个按键是左 右和上箭头
  • Qt中的各种编译器

    1 uic xff1a UI编译器 xff0c 将 ui文件转化为ui h文件 2 rcc xff1a 资源编译器 xff0c 将 qrc文件转换成qrc h文件 3 moc xff1a 元对象编译器 xff0c 将含有Q OBJECT的头
  • Bioconductor软件安装与升级

    本文已于2019 07 12按新版Bioconductor安装包BiocManager出现的问题进行更新 1 修改安装软件源 BioConductor安装需要下载很多文件 xff0c 如果不修改 xff0c 程序很可能是从国外网址下载 xf
  • 使用oligo软件包处理芯片数据

    本博客介绍过 Affy芯片的处理方法 xff0c 其中所使用的软件包有一定的局限性 xff0c 无法读取和分析一些新版Affy芯片 本文介绍oligo软件包的处理方法以解决这些问题 oligo软件包并不是新出现的软件包 xff0c 只因新类
  • R语言中的引号

    1 单引号和双引号 两者都可以用于表示字符串分隔 xff0c 用法和意义没有差别如果字符串包含有分隔符本身 xff0c 字符串内的分隔符引号需要转义 xff08 使用反斜杠 xff09 R语言字符串的打印 显示都是用双引号的形式表示 xff
  • ggplot2柱形图Y轴坐标扩展的简单方法

    ggplot2的坐标轴主要由映射aes确定 xff0c expand limits和coord cartesian虽然可以调整坐标轴刻度 xff0c 但对柱形图不大适用 不少使用者对扩展柱形图Y轴坐标很烦恼 xff0c 有人从源代码层面对开
  • Affy芯片ATH1-121501探针注释的处理

    Affy芯片ATH1 121501探针注释的处理 BioC有Affy芯片ATH1 121501 xff08 GPL198平台 xff09 的注释库文件 xff08 R包 xff09 xff0c 芯片分析后期处理经常要使用 xff0c 导出方
  • Debian Linux使用sun/oracle java

    1 下载Oracle JRE 从oracle 网站下载JRE源码 xff0c 如 jre 8u211 linux x64 tar gz xff0c 无需解压 2 构建JRE安装包 xff0c 并安装JRE 如果没有安装 java packa
  • NGINX + Let's encrypt免费SSL证书

    安装与配置过程不算复杂 xff1a 1 安装openssl和certbot sudo apt get install openssl ssl cert sudo apt get install python certbot nginx t
  • Emacs必修:使用dired管理文件

    1 基本设置 require 39 dired require 39 dired 43 require 39 dired sort ido mode 1 global dired hide details mode 1 setq dired
  • Emacs必修:缓冲区与ibuffer

    如果不太较真 xff0c 缓冲区可以当作是Emacs打开的文件 缓冲区操作就是对打开的文件进行保存 关闭和切换等操作 1 使用ibuffer代替list buffers defalias 39 list buffers 39 ibuffer
  • VNC+SSH的配置与使用(Debian xfce4)

    服务器端设置 安装vncserver xff1a sudo apt get install tightvncserver 配置桌面启动脚本文件 vnc xstartup xff0c 文件不存在则新建 xff0c 内容如下 xff1a bin