在Linux服务器管理中,CentOS作为广泛使用的操作系统,其命令行操作是系统管理员必备的技能,通过SSH协议使用默认22端口远程连接服务器是最基础且重要的操作,本文将详细介绍在CentOS系统中如何通过命令行实现22端口的连接,包括环境准备、连接步骤、常见问题处理及安全优化建议,帮助用户高效、安全地管理远程服务器。

环境准备:确保连接条件就绪
在使用命令连接CentOS服务器的22端口前,需确认以下基础条件:
-
服务端配置:目标CentOS服务器需已安装并启动SSH服务,默认情况下,CentOS minimal安装后不会自动开启SSH,需通过以下命令检查并启动:
# 检查SSH服务状态 systemctl status sshd # 若未启动,则执行以下命令启用并开机自启 systemctl start sshd systemctl enable sshd
确保服务器的防火墙允许22端口访问,若使用firewalld防火墙,可通过以下命令开放端口:
firewall-cmd --permanent --add-service=ssh firewall-cmd --reload
-
客户端工具:本地计算机需支持SSH协议的客户端工具,Linux、macOS系统自带OpenSSH客户端,Windows用户可通过PowerShell、WSL或第三方工具(如PuTTY、Xshell)连接。
-
网络连通性:确保客户端与服务器网络互通,可通过
ping命令测试基本连通性,再使用telnet或nc命令验证22端口是否开放:telnet <服务器IP> 22 # 或 nc -zv <服务器IP> 22
连接命令详解:基础与进阶用法
基础连接命令
使用SSH连接CentOS服务器的核心命令为ssh,基本语法为:

ssh [用户名]@[服务器IP或域名] -p [端口号]
以用户root连接IP为168.1.100的服务器(默认22端口可省略-p参数):
ssh root@192.168.1.100
首次连接时,系统会提示服务器的主机密钥未 trusted,输入yes即可继续,随后输入用户密码,成功后即可进入服务器命令行界面。
指定密钥认证连接
为提高安全性,建议使用SSH密钥对替代密码认证,生成密钥对的操作如下:
# 本地生成RSA密钥(默认生成在~/.ssh/id_rsa) ssh-keygen -t rsa -b 4096
将公钥传输到服务器:
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.100
后续连接时无需输入密码,直接通过密钥认证:
ssh -i ~/.ssh/id_rsa root@192.168.1.100
高级参数配置
- 指定连接端口:若服务器修改了默认SSH端口(如2222),需通过
-p参数指定:ssh root@192.168.1.100 -p 2222
- 后台执行命令:通过
-t参数分配伪终端,适合执行单条命令后退出:ssh -t root@192.168.1.100 "ls -l /home"
- 配置文件优化:在
~/.ssh/config文件中配置别名,简化连接命令:Host centos-server HostName 192.168.1.100 User root Port 22 IdentityFile ~/.ssh/id_rsa配置后可直接通过
ssh centos-server连接。
常见问题处理:连接失败排查步骤
当SSH连接22端口失败时,可按以下步骤排查:
- 检查网络连通性:确认客户端能ping通服务器IP,且防火墙未拦截22端口。
- 验证SSH服务状态:服务器端执行
systemctl status sshd,确保服务处于active (running)状态。 - 查看日志文件:通过
journalctl -u sshd或/var/log/secure日志定位错误原因,常见问题包括:- 认证失败:检查用户名、密码或密钥是否正确;
- 端口被占:使用
netstat -tuln | grep 22确认端口监听状态; - 权限不足:确保用户具有SSH登录权限(如
/etc/ssh/sshd_config中PermitRootLogin配置)。
安全优化建议:加固SSH连接
为提升服务器安全性,建议对SSH服务进行以下优化:
- 修改默认端口:编辑
/etc/ssh/sshd_config,将Port 22改为其他高位端口(如2222),并重启SSH服务:systemctl restart sshd
- 禁用root直接登录:在
sshd_config中设置PermitRootLogin no,通过普通用户登录后切换至root。 - 使用密钥认证:禁用密码认证,设置
PasswordAuthentication no,仅允许密钥对登录。 - 限制登录用户:通过
AllowUsers或DenyUsers指令指定允许或禁止登录的用户列表。
相关问答FAQs
Q1: 连接CentOS服务器时提示“Permission denied (publickey,password)”怎么办?
A: 该错误通常由认证失败导致,首先检查用户名是否正确;若使用密钥认证,确认公钥是否已正确上传至服务器~/.ssh/authorized_keys文件,且文件权限设置为600;若使用密码认证,检查密码是否输入正确或用户是否被锁定,需确认sshd_config中PasswordAuthentication或PubkeyAuthentication配置是否启用。
Q2: 如何避免每次连接SSH时都输入密码?
A: 可通过SSH密钥对实现免密登录,具体步骤为:
- 本地生成密钥对(
ssh-keygen -t rsa); - 使用
ssh-copy-id将公钥传输至服务器(如ssh-copy-id user@server); - 确保服务器
~/.ssh目录权限为700,authorized_keys文件权限为600。
配置完成后,再次连接时无需输入密码,系统会自动使用私钥进行认证。