SSH是CentOS虚拟机最常用的远程管理方式,提供加密的命令行访问,安全性高且资源占用低。
在CentOS虚拟机终端中执行以下命令,安装OpenSSH服务器(若未安装):
sudo yum install openssh-server
安装完成后,启动SSH服务并设置为开机自启动,确保虚拟机重启后仍能远程连接:
sudo systemctl start sshd # 启动SSH服务
sudo systemctl enable sshd # 设置开机自启动
编辑SSH配置文件/etc/ssh/sshd_config,优化连接安全性:
sudo vi /etc/ssh/sshd_config
Port 22改为其他端口(如Port 2222);PermitRootLogin yes改为PermitRootLogin no;PasswordAuthentication yes未被注释;AllowUsers your_username(替换为你的用户名)。修改后保存文件,重启SSH服务使配置生效:
sudo systemctl restart sshd
确保虚拟机网络模式支持远程连接:
在虚拟机终端中执行以下命令,查看IPv4地址(以ens33或eth0接口为例):
ip addr show
找到类似inet 192.168.1.100/24的地址,即为虚拟机的IP。
在宿主机(如Windows、Mac)上使用SSH客户端连接:
your_username和IP):ssh your_username@192.168.1.100 -p 22
输入虚拟机用户密码即可登录。
若需要图形界面操作(如桌面环境),可使用VNC服务,支持远程桌面显示。
在虚拟机终端中执行以下命令,安装TigerVNC服务器:
sudo yum install tigervnc-server
执行vncpasswd命令,设置VNC访问密码(需输入两次):
vncpasswd
创建systemd服务文件,指定用户(如your_username)和会话:
sudo vi /etc/systemd/system/vncserver@:1.service
粘贴以下内容(替换<user>为你的用户名):
[Unit]
Description=Start TigerVNC server at startup
After=syslog.target network.target
[Service]
Type=forking
User=<user>
Group=<user>
WorkingDirectory=/home/<user>
PIDFile=/home/<user>/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
保存后,重新加载systemd并启动VNC服务:
sudo systemctl daemon-reload
sudo systemctl enable vncserver@:1.service # 开机自启动
sudo systemctl start vncserver@:1.service # 启动服务
VNC默认使用5900+会话ID端口(如:1对应5901),允许该端口通过防火墙:
sudo firewall-cmd --permanent --add-port=5901/tcp
sudo firewall-cmd --reload
在宿主机上使用VNC客户端(如RealVNC、TightVNC):
IP:1,如192.168.1.100:1);若习惯使用Windows自带的“远程桌面连接”(mstsc),可安装XRDP服务,支持RDP协议。
在虚拟机终端中执行以下命令,安装XRDP和桌面环境(如GNOME):
sudo yum install epel-release # 安装EPEL仓库
sudo yum install xrdp gnome-session # 安装XRDP和GNOME桌面
启动XRDP服务并设置为开机自启动:
sudo systemctl start xrdp
sudo systemctl enable xrdp
允许RDP端口(3389)通过防火墙:
sudo firewall-cmd --permanent --add-port=3389/tcp
sudo firewall-cmd --reload
在宿主机(Windows)上:
Win+R输入mstsc,打开“远程桌面连接”;ssh-keygen+ssh-copy-id);VNC/XPDR建议通过SSH隧道转发(如ssh -L 5901:localhost:5901 user@IP),避免直接暴露端口。sudo semanage port -a -t ssh_port_t -p tcp 新端口),否则可能导致连接失败。