Linux 远程登录 CentOS 是服务器管理和运维中的基础操作,它允许用户通过网络远程访问和控制 CentOS 服务器,无需直接接触物理设备,本文将详细介绍 Linux 远程登录 CentOS 的常用方法、配置步骤及注意事项,帮助读者高效、安全地完成远程管理任务。

远程登录 CentOS 的常用方法
在 Linux 环境中,远程登录 CentOS 服务器主要有三种方式:SSH(Secure Shell)、Telnet 和 VNC(Virtual Network Computing),SSH 因其加密传输和安全性高,成为最主流的选择;Telnet 因采用明文传输,已逐渐被淘汰;VNC 则适用于图形界面的远程操作,本文重点介绍 SSH 的使用方法。
SSH 远程登录
SSH(Secure Shell)是一种加密的网络协议,通过数据加密和身份验证,确保远程登录的安全性和数据传输的保密性,CentOS 系统默认已安装 SSH 服务(OpenSSH),用户无需额外安装即可使用。
SSH 基本命令格式:
ssh [用户名]@[服务器IP地址] -p [端口号]
以 root 用户身份登录 IP 为 168.1.100 的服务器(默认端口 22):
ssh root@192.168.1.100
首次登录时,系统会提示服务器的公钥指纹,输入 yes 确认后即可连接。
免密登录配置
为避免每次输入密码,可通过 SSH 密钥对实现免密登录,具体步骤如下:
- 生成密钥对:在本地终端执行
ssh-keygen -t rsa,一路按回车即可生成公钥(~/.ssh/id_rsa.pub)和私钥(~/.ssh/id_rsa)。 - 上传公钥到服务器:使用
ssh-copy-id命令将公钥复制到服务器的~/.ssh/authorized_keys文件中:ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.100
完成后,再次登录时无需输入密码,直接通过 SSH 连接即可。
图形界面远程登录(VNC)
如果需要远程操作 CentOS 的图形界面,可使用 VNC,首先在服务器端安装 VNC 服务器(如 tigervnc-server),配置密码并启动服务;然后在客户端使用 VNC Viewer 工具输入服务器 IP 和端口号(如 168.1.100:1)即可连接。

SSH 服务配置与优化
默认的 SSH 配置可能无法满足安全或个性化需求,需通过修改 /etc/ssh/sshd_config 文件进行优化,以下是关键配置项:
修改默认端口
默认端口 22 易受暴力破解攻击,建议修改为其他端口号(如 2222),编辑 sshd_config 文件,找到 Port 22 并修改为:
Port 2222
保存后重启 SSH 服务:systemctl restart sshd。
禁用 root 用户直接登录
为增强安全性,建议禁止 root 用户通过 SSH 直接登录,改用普通用户登录后再 su 切换,在 sshd_config 中设置:
PermitRootLogin no
重启 SSH 服务后,root 用户将无法直接远程登录。
限制登录用户
通过 AllowUsers 指定允许登录的用户,例如仅允许 user1 和 user2:
AllowUsers user1 user2
修改后需重启 SSH 服务生效。
启用密钥认证,禁用密码登录
为进一步提升安全性,可禁用密码登录,强制使用密钥认证,在 sshd_config 中设置:

PasswordAuthentication no PubkeyAuthentication yes
重启 SSH 服务后,仅密钥认证用户可登录,密码登录将被拒绝。
远程登录的安全注意事项
远程登录涉及服务器安全,需注意以下几点:
- 定期更新系统:使用
yum update保持系统和 SSH 服务最新,修复已知漏洞。 - 配置防火墙:仅开放必要的 SSH 端口(如 2222),关闭其他不必要的端口,可通过
firewall-cmd --permanent --add-port=2222/tcp添加端口,并重启防火墙。 - 使用 fail2ban 防暴力破解:安装
fail2ban服务,监控 SSH 登录日志,对多次失败 IP 进行封禁。 - 避免使用弱密码:若启用密码登录,需设置复杂密码(包含大小写字母、数字和特殊符号)。
常见问题排查
连接超时或拒绝连接
- 原因:服务器未启动 SSH 服务,或防火墙拦截了 SSH 端口。
- 解决:
- 检查 SSH 服务状态:
systemctl status sshd,未启动则执行systemctl start sshd。 - 检查防火墙规则:
firewall-cmd --list-ports,确保 SSH 端口已开放。
- 检查 SSH 服务状态:
提示 “Permission denied (publickey,password)”
- 原因:用户名错误、密钥未正确配置,或禁用了密码登录但未配置密钥。
- 解决:
- 确认用户名和服务器 IP 正确。
- 检查客户端公钥是否已上传到服务器的
authorized_keys文件。 - 若禁用密码登录,需确保客户端已配置密钥对。
相关问答 FAQs
Q1:如何查看 SSH 服务的运行状态?
A:可通过以下命令查看 SSH 服务的运行状态:
systemctl status sshd
若显示 active (running),则表示服务正在运行;若未运行,可使用 systemctl start sshd 启动服务。
Q2:忘记 SSH 登录密码怎么办?
A:若忘记用户密码,可通过服务器控制台(如物理机或云服务商提供的 VNC 控制台)登录系统,使用 passwd 命令重置用户密码,重置 root 用户密码:
passwd root
根据提示输入新密码两次即可,注意:此方法需要物理访问或控制台权限。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复