Centos7远程桌面 vnc/vnc-server的设置详解

Centos7与Centos6.x有了很大的不同。

为了给一台服务器装上远程桌面,走了不少弯路。写这篇博文,纯粹为了记录,以后如果遇到相同问题,可以追溯。

1、假定你的系统没有安装vnc的任何软件,那么,首先安装vnc

yum -y install tigervnc-server tigervnc

2、Centos7之前的系统,如果安装vnc一般都需要配置

[root@localhost ~]# cat /etc/sysconfig/vncservers
# THIS FILE HAS BEEN REPLACED BY /lib/systemd/system/vncserver@.service

但是,如上所述,Centos7需要配置的文件在

[root@localhost ~]# ll /lib/systemd/system/vncserver@.service
-rw-r--r--. 1 root root 1744 Jun 10 14:15 /lib/systemd/system/vncserver@.service

3、文件内有如下提示

# Quick HowTo:
# 1. Copy this file to /etc/systemd/system/vncserver@:<display>.service
# 2. Edit <USER> and vncserver parameters appropriately
#  ("runuser -l <USER> -c /usr/bin/vncserver %i -arg1 -arg2")
# 3. Run `systemctl daemon-reload`
# 4. Run `systemctl enable vncserver@:<display>.service

4、复制一份文件,并改名为vncserver@:1.service

[root@localhost ~]# cp /lib/systemd/system/vncserver@.service/lib/systemd/system/vncserver@:1.service

5、将文件中的<User>用你当前的用户替换,将%i替换为1

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :1 > /dev/null 2>&1 || :'
ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver :1 -geometry 1280x720 -depth 24"
PIDFile=/root/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill :1 > /dev/null 2>&1 || :'
[Install]
WantedBy=multi-user.target

6、更新systemctl

systemctl daemon-reload

7、设置为自动启动

systemctl enable vncserver@:1.service

8、启动vnc服务

systemctl start vncserver@:1.service

9、在iptables中加入对应的端口5901(注意,如果有其他用户,那么也需要将端口加上。vnc的端口默认是5900 + n)

[root@localhost system]# cat /etc/sysconfig/iptables
# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5901 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

注意:

1、如果你不配置和启用防火墙,此时用VNC Viewer连接的话,会报:"connect:Connection timed out(10060)"错误。

2、本文是以root用户为例,如果其他用户也需要登录,那么,还需要将文件复制为

cp /lib/systemd/system/vncserver@.service/lib/systemd/system/vncserver@:2.service

同时,将文件内的%i改为2,并建立对应用户的vncpasswd。

3、你可以通过UltraVNC,TigerVNC或者RealVNC Viewer进行访问,我在win7下使用这3中工具均能连接

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • CentOS系统中安装MySQL和开启MySQL远程访问的方法

    安装MySQL 安装MySQL和php-mysql [root@sample ~]# yum -y install mysql-server [root@sample ~]# yum -y install php-mysql 配置MySQL [root@sample ~]#vim /etc/my.cnf 编辑MySQL的配置文件 [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Default to using

  • CentOS SSH无密码登录的配置

    配置SSH无登陆验证,在很多场景下是非常方便的,尤其是在管理大型集群服务时,避免了繁琐的密码验证,在安全级别越高的服务器上,通常密码的设置更复杂,配置SSH,不仅可以用密钥保证节点间通信的安全性,同时也降低了频繁输入密码登陆的耗时,大大提高了管理效率. 原理简介 为了便于理解,假设需要在hadoop148这台机器上可以通过无密码登录的方式连接到hadoop107上. 首先在 hadoop148上生成一个密钥对,包括一个公钥和一个私钥,并将公钥复制到hadoop107上. 然后当 hadoop14

  • Centos中VNC远程桌面程序的安装与使用教程

    本文实例讲述了Centos中VNC远程桌面程序的安装与使用方法.分享给大家供大家参考,具体如下: 这里以centos 6.5为例 安装GNOME桌面环境 yum groupinstall "X Window System" "Desktop" CentOS安装Xfce桌面环境,可选 yum groupinstall Xfce 安装tigervnc yum install tigervnc-server tigervnc 设置远程登陆到gnome桌面的配置,再最后面加

  • CentOS 6.5中SSH免密码登录配置教程

    0.说明 这里为了方便说明问题,假设有A和B两台安装了centos6.5的主机.目标是实现A.B两台主机分别能够通过ssh免密码登录到对方主机.不同主机的配置过程一样,这里介绍A主机的配置过程. 事先在AB主机分别创建好要免密码登录的用户名,在/etc/hosts文件增加主机名和ip. 创建新用户:useradd linuxidc 设置密码:passwd linuxidc,输入自己想要的密码即可,之后su linuxidc切换用户 修改主机名:vim /etc/sysconfig/network

  • Linux VPS安全设置之一 修改SSH端口(CentOS/Debian)

    老左在之前的不少文章中已经分享过在centos或者在debian环境下安装lnmp和llsmp的教程,老左用人格担保肯定是可行的,因为我都是在实战操作后截图及写下来的文章.可以让VPS初学者手把手的学习如何在Linux VPS上安装系统及建立网站.老左第一次使用VPS不会安装环境,准备请一个网友安装,还准备收费50元,鉴于此我就自学. 我们在学会了VPS的安装和建站之后,肯定需要附带学习VPS的安全设置.因为VPS和主机不同,主机商可能会给我们备份,而且主机的安全性都有主机商承担.但是,如果现在

  • docker centos7 安装ssh具体步骤

     docker centos7 安装ssh具体步骤,这里记录下,也行能帮助到正在读文章的朋友. 一. 从docker hub 下载centos 官方镜像 hr:centos7 hr$ docker pull centos:7 下载完后,查看本地资源库: hr:centos7 hr$ docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE centos 7 ce20c473cd8a 7 weeks ago 172.3 MB 运行容器 h

  • centos 6.5下修改SSH端口及禁用root远程登录的方法

    前言 我们大家都知道 SSH 的默认端口为 22,但是基于安全的需要,我们需要修改服务器的 SSH 端口,和禁用 root 远程登录. 通过以下步骤,我们通过编辑 /etc/ssh/sshd_config ,将端口修改为 10089,并禁用 root 远程登录,同时为新端口添加防火墙规则,并删除默认端口的规则. 注意:1,使用 root 用户执行以下步骤:2,只在 CentOS 6.5 下验证. 修改端口 vi /etc/ssh/sshd_config Port 10089 #端口号 Permi

  • 在Windows主机上定时备份远程VPS(CentOS)数据的批处理

    不过折腾 VPS 之后,就不只是要备份 MySQL 了,一些独立的站点数据也是需要备份的. 如果有靠谱的第三方 Linux 主机或类似 Amazon 的云存储,那就简单多了,Linux - Linux 的备份很方便. 不过我想在自己的 Windows7 下每天/周运行一次备份,就有了这个小工具. 大概的想法如下: 使用 Putty 自带的 plink.exe 连接到 VPS 上,运行备份并退出登录: 接着使用 Putty 自带的 pscp.exe 将备份复制到本机: 添加一个计划任务,每天/周自

  • Centos6.5 ssh配置与使用教程

    下面给大家介绍centos6.5 ssh配置与使用教程的知识,具体详情如下所示: #rpm -qa |grep ssh 检查是否装了SSH包 #yum install openssh-server 没有的话,安装SSH服务 #chkconfig --list sshd 检查SSHD是否在本运行级别下设置为开机启动 #chkconfig --level 2345 sshd on 如果没设置启动就设置下 #service sshd restart 重新启动SSHD #netstat -antp |g

  • CentOS下SSH无密码登录的配置文件

    1.确认本机sshd的配置文件(需要root权限) $ gedit /etc/ssh/sshd_config 找到以下内容,并去掉注释符"#" RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys 2.如果修改了配置文件需要重启sshd服务 (需要root权限) $ /sbin/service sshd restart 配置SSH无密码登录需要3步: 1.生成公钥和私

随机推荐