配置环境准备
在开始Mac通过SSH连接CentOS之前,需要确保双方系统满足基本要求,Mac用户需确认macOS版本(推荐10.12及以上)并启用终端(Terminal),可通过“应用程序”-“实用工具”找到,CentOS服务器需确保已安装OpenSSH服务,并处于运行状态,登录CentOS后,执行命令systemctl status sshd检查SSH服务状态,若未启动,使用systemctl start sshd并设置开机自启(systemctl enable sshd),确保CentOS的防火墙允许SSH连接(默认端口22),可通过firewall-cmd --permanent --add-service=ssh和firewall-cmd --reload配置。

获取CentOS服务器信息
连接前需收集CentOS服务器的关键信息:IP地址(公网或内网)、用户名(如root或普通用户)及密码或SSH密钥,IP地址可通过ip addr命令在CentOS上查看;用户名取决于服务器配置,若为新建系统,root用户默认可用,但出于安全考虑,建议创建普通用户并赋予sudo权限,若使用密钥认证,需提前在CentOS上生成或导入公钥(后续详述)。
在Mac上生成SSH密钥(可选)
为提升安全性,推荐使用SSH密钥认证替代密码,Mac用户可通过终端生成密钥对:执行ssh-keygen -t rsa -b 4096,按提示指定密钥存储路径(默认为~/.ssh/id_rsa)和密码(可选),生成后,公钥文件为id_rsa.pub,需将其传输至CentOS。
传输公钥至CentOS
传输公钥有多种方式:
- ssh-copy-id命令(推荐):直接执行
ssh-copy-id username@centos_ip,输入CentOS用户密码后,公钥会自动追加至CentOS的~/.ssh/authorized_keys文件。 - 手动复制:若
ssh-copy-id不可用,通过cat ~/.ssh/id_rsa.pub查看公钥内容,登录CentOS后创建~/.ssh目录(mkdir -p ~/.ssh),将公钥内容追加至authorized_keys文件(echo '公钥内容' >> ~/.ssh/authorized_keys),并设置权限(chmod 700 ~/.ssh; chmod 600 ~/.ssh/authorized_keys)。
首次SSH连接
完成上述配置后,在Mac终端执行ssh username@centos_ip,首次连接会提示服务器指纹验证(输入yes确认),若使用密钥认证且设置了密码,需输入密钥密码;若为密码认证,直接输入CentOS用户密码,连接成功后,终端将显示CentOS的命令行界面。

常用SSH连接优化
为提升使用体验,可配置SSH客户端:
- 修改连接端口:若CentOS的SSH端口非默认22,在Mac命令中指定
ssh -p 端口号 username@centos_ip。 - 配置别名:编辑Mac的~/.ssh/config文件,添加如下内容:
Host centos HostName centos_ip User username Port 22 IdentityFile ~/.ssh/id_rsa后续可通过
ssh centos直接连接。 - 避免频繁输入密码:若使用密钥认证且未设置密码,可通过
ssh-add ~/.ssh/id_rsa将密钥添加到ssh-agent中。
故障排查
连接失败时,可按以下步骤排查:
- 检查网络:确保Mac与CentOS网络互通(
ping centos_ip测试)。 - 确认SSH服务:在CentOS上执行
ss -tulnp | grep sshd,验证SSH端口是否监听。 - 查看日志:CentOS的SSH日志位于
/var/log/secure,可通过grep sshd /var/log/secure分析错误信息。 - 权限问题:确保CentOS的~/.ssh目录权限为700,authorized_files权限为600。
安全建议
- 禁用root直接登录:编辑CentOS的SSH配置文件
/etc/ssh/sshd_config,将PermitRootLogin yes改为no,重启SSH服务(systemctl restart sshd)。 - 更改默认端口:在
sshd_config中修改Port为非22的高位端口(如2222),并同步更新防火墙规则。 - 使用密钥认证:关闭密码登录(
PasswordAuthentication no),强制使用密钥认证。
相关问答FAQs
Q1: 忘记CentOS用户密码如何通过SSH重置?
A1: 若有sudo权限,可重置用户密码:

- 通过其他方式(如控制台)登录CentOS。
- 执行
passwd username,按提示输入新密码两次。
若无sudo权限且无法通过其他方式登录,需联系服务器管理员重置。
Q2: SSH连接超时如何解决?
A2: 可尝试以下方法:
- 检查CentOS的防火墙和SSH服务状态。
- 增加SSH客户端超时时间:在Mac的~/.ssh/config中添加
ServerAliveInterval 60和ServerAliveCountMax 3,保持连接活跃。 - 检查网络稳定性,避免NAT或代理干扰。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复