温馨提示×

如何在CentOS中进行远程登录

小樊
59
2025-10-13 09:32:49
栏目: 智能运维

一、SSH远程登录(推荐,安全高效)

SSH(Secure Shell)是CentOS系统默认支持的加密远程登录协议,适用于命令行界面的远程管理,是日常运维中最常用的方式。

1. 安装OpenSSH服务器

CentOS系统通常预装OpenSSH服务器,若未安装,可通过以下命令快速安装:

sudo yum install -y openssh-server

2. 启动SSH服务并设置开机自启

安装完成后,启动SSH服务并配置为开机自动启动,确保服务器重启后仍能接受远程连接:

sudo systemctl start sshd       # 启动SSH服务
sudo systemctl enable sshd      # 设置开机自启

3. 配置防火墙允许SSH连接

CentOS 7及以上版本使用firewalld作为防火墙管理工具,需开放SSH默认端口(22):

sudo firewall-cmd --permanent --add-service=ssh    # 永久添加SSH服务到防火墙规则
sudo firewall-cmd --reload                         # 重新加载防火墙配置使规则生效

4. 远程连接服务器

在本地计算机(如Windows、Mac或另一台Linux设备)的终端中,使用ssh命令连接CentOS服务器:

ssh username@server_ip_address
  • 参数说明username是CentOS服务器上的目标用户名(如rootuser1);server_ip_address是服务器的IP地址或域名(如192.168.1.100)。
  • 示例:若服务器IP为192.168.1.100,用户名为user1,则命令为:
    ssh user1@192.168.1.100
    
  • 后续操作:输入用户密码即可完成登录(输入时密码不可见,属于正常现象)。

5. 可选:配置SSH密钥认证(提升安全性)

密码认证存在被暴力破解的风险,建议使用SSH密钥认证(无需每次输入密码):

  • 生成密钥对:在本地计算机运行以下命令,生成公钥(id_rsa.pub)和私钥(id_rsa):
    ssh-keygen -t rsa -b 4096
    
    按提示按回车键接受默认路径(~/.ssh/),可选择设置密钥密码(可选)。
  • 复制公钥到服务器:使用ssh-copy-id命令将公钥自动复制到服务器的~/.ssh/authorized_keys文件中:
    ssh-copy-id username@server_ip_address
    
    输入服务器用户密码后,公钥将自动添加。
  • 测试免密登录:再次运行ssh命令,无需输入密码即可登录:
    ssh username@server_ip_address
    

6. 可选:修改SSH配置(增强灵活性)

若需调整SSH服务参数(如更改默认端口、禁用root登录),可编辑配置文件:

sudo vi /etc/ssh/sshd_config
  • 常见修改项
    • 更改端口:将Port 22改为其他端口(如Port 2222);
    • 禁用root登录:将PermitRootLogin yes改为PermitRootLogin no
    • 允许特定用户:添加AllowUsers username1 username2(替换为目标用户名)。
  • 应用配置:修改完成后,重启SSH服务使更改生效:
    sudo systemctl restart sshd
    
    注意:若更改了端口,后续连接时需在ssh命令中指定新端口(-p参数),例如:
    ssh -p 2222 username@server_ip_address
    

二、VNC远程桌面登录(图形界面,适用于需要GUI的场景)

若需要在远程服务器上操作图形界面(如桌面环境、图形化工具),可使用VNC(Virtual Network Computing)协议。

1. 安装TigerVNC服务器

TigerVNC是CentOS常用的VNC服务器软件,安装步骤如下:

sudo yum install -y tigervnc-server

2. 配置VNC服务

  • 复制默认配置文件:为当前用户创建专属VNC配置文件(以user1为例):
    sudo cp /usr/lib/systemd/system/vncserver@.service /usr/lib/systemd/system/vncserver@:1.service
    
  • 修改配置文件:编辑vncserver@:1.service文件,将<USER>替换为实际用户名(user1):
    sudo vi /usr/lib/systemd/system/vncserver@:1.service
    
    找到ExecStart=/usr/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"行,将<USER>改为user1,保存退出。
  • 设置VNC密码:为用户设置VNC登录密码(仅当前用户有效):
    vncpasswd
    
    输入两次密码(长度为6-8位),后续连接时需输入此密码。

3. 启动VNC服务

启动VNC服务并设置开机自启:

sudo systemctl start vncserver@:1.service  # 启动服务(:1代表端口5901,:2代表5902,依此类推)
sudo systemctl enable vncserver@:1.service # 设置开机自启

4. 配置防火墙允许VNC连接

VNC默认使用端口5901(对应:1),需开放该端口:

sudo firewall-cmd --permanent --add-port=5901/tcp  # 永久添加5901端口
sudo firewall-cmd --reload                         # 重新加载防火墙配置

5. 远程连接VNC服务器

在本地计算机上使用VNC客户端(如RealVNC、TightVNC、Windows自带的“远程桌面连接”),输入以下信息:

  • 服务器地址server_ip_address:11对应端口5901,若使用:2则输入5902);
  • 密码:之前设置的VNC密码。
    连接成功后,即可看到CentOS服务器的图形界面。

三、XRDP远程桌面登录(兼容Windows远程桌面,适用于Windows用户)

XRDP是CentOS上的开源远程桌面协议,兼容Windows自带的“远程桌面连接”(mstsc),适合习惯使用Windows远程桌面的用户。

1. 安装XRDP服务器

XRDP依赖epel-release仓库,需先安装仓库再安装XRDP:

sudo yum install -y epel-release          # 安装EPEL仓库
sudo yum install -y xrdp                  # 安装XRDP服务器

2. 启动XRDP服务

启动XRDP服务并设置开机自启:

sudo systemctl start xrdp                 # 启动XRDP服务
sudo systemctl enable xrdp                # 设置开机自启

3. 配置防火墙允许XRDP连接

XRDP默认使用端口3389(与Windows远程桌面一致),需开放该端口:

sudo firewall-cmd --permanent --add-port=3389/tcp  # 永久添加3389端口
sudo firewall-cmd --reload                         # 重新加载防火墙配置

4. 远程连接XRDP服务器

在Windows计算机的“远程桌面连接”工具(Win+R输入mstsc)中,输入CentOS服务器的IP地址,点击“连接”,输入用户名和密码即可登录。

注意事项

  • 优先选择SSH:SSH是加密协议,安全性远高于VNC和XRDP,日常运维建议使用SSH;
  • VNC/XRDP密码安全:VNC和XRDP的密码需定期更换,避免使用简单密码;
  • 端口修改:若修改了SSH、VNC或XRDP的默认端口,连接时需指定新端口;
  • SELinux配置:若系统启用了SELinux,可能需要调整SELinux策略(如允许VNC服务),但默认配置通常不影响正常使用。

0