如何为 CentOS 7 启用远程桌面访问

如何为 CentOS 7 启用远程桌面访问

通过 SSH 访问服务器,我需要使用命令行界面安装和配置远程访问,以使用 VNC 或终端服务器客户端访问服务器

要启用 GUI:

yum -y groupinstall "GNOME Desktop" && systemctl set-default graphical.target && shutdown -r now

但我找不到任何仅使用命令行启用远程管理访问的解决方案。 CentOS 文档展示了如何使用 GUI 来完成此操作(如果您可以访问 GUI),但没有介绍命令行选项,或者至少在这种情况下使用 GUI 界面编辑哪些配置文件...

https://www.centos.org/docs/4/html/rhd-dg-en-4/ch-ddg-remote-desktop.html

有谁知道该怎么做?

答案1

给出了在centOs中安装和配置VNC服务器的步骤:

  1. ~]# yum 安装 TigerVNC 服务器
  2. ~]# cp /usr/lib/systemd/system/[电子邮件受保护]/etc/systemd/system/vncserver@:1.service
  3. ~]# vim /etc/systemd/system/vncserver@:1.service

在此文件中将 USER 替换为 Riddhi

ExecStart=/usr/sbin/runuser -l USER -c "/usr/bin/vncserver %i -geometry 1280x1024"
PIDFile=/home/USER/.vnc/%H%i.pid
  1. ~]# systemctl 守护进程重载
  2. ~]# su - 里迪
  3. ~]$ vncpasswd//update password for user riddhi
  4. ~]# systemctl start vncserver@:1.service
  5. ~]# systemctl 启用 vncserver@:1.service

现在从 Windows 连接到 centOs:

  1. IP:ip address:5901

  2. 密码 :password of vncpasswd

答案2

如果您希望启用对“root”帐户的远程访问并且愿意接受这些风险,请取消注释 /etc/ssh/sshd_config 中的以下行

PermitRootLogin yes

然后重新启动 ssh 守护进程

service sshd restart

然后你可以通过 SSH 进入系统

ssh root@SERVER_IP_ADDRESS

如果您正在使用其他用户,那么您当然可以

ssh username@SERVER_IP_ADDRESS

如果您遇到访问被拒绝的情况,我会关闭防火墙以验证这是否是问题所在。

风险稍小的替代方案是设置 ssh 密钥对(这样您就不需要每次连接时都输入密码)。还要配置您的用户,以便每次您执行 sudo 时都不会提示他们输入 root 密码。

答案3

安装 VNC 对我来说很有效,所以在 CentOS7 中,似乎不需要通过 GNOME 等方式启用任何内容(GUI)。创建了一个小脚本,以便其他人可以在需要时使用。对于 CentOS7

yum -y groupinstall "GNOME Desktop" && 
systemctl set-default graphical.target && 
yum install -y tigervnc-server &&
cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:4.service &&
systemctl enable vncserver@:4.service   &&
sed -i 's/<USER>/root/g' /etc/systemd/system/vncserver@:4.service &&
cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:5.service &&
cat <<"EOF" >> /etc/systemd/system/vncserver@:5.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=/usr/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
EOF
systemctl enable vncserver@:5.service &&
#  Setting Firewall rules
firewall-cmd --permanent --zone=public --add-port=5904-5905/tcp &&
firewall-cmd --reload &&
#setting password for vnc access
vncserver &&
#restarting services
systemctl daemon-reload &&
systemctl restart vncserver@:4.service &&
systemctl restart vncserver@:5.service &&
shutdown -r now 

在此阶段,您应该能够使用 VNC 客户端登录。对我来说“Realvnc”工作得很好,其他人却因为一些奇怪的原因而没有......请注意:

  1. 连接端口为5904和5905
  2. 如果您需要免费启用更多同时连接;)与 Windows 不同:),只需添加更多即可:
    • /etc/systemd/system/vncserver@:6.service
    • /etc/systemd/system/vncserver@:7.service
    • /etc/systemd/system/vncserver@:8.service
      等...并确保端口 5906,5907,5908 不忙于其他应用程序。
  3. 防火墙规则可能需要更改,具体取决于您的网络接口所属的区域。

在此输入图像描述

相关内容