CentOS下SSH连接失败怎么办?

基础连接方法

安装SSH客户端

CentOS通常预装OpenSSH客户端,若未安装则执行:

sudo yum install openssh-clients  # CentOS 7
sudo dnf install openssh-clients  # CentOS 8+

基本连接命令

ssh username@server_ip
  • 参数说明
    • username:远程服务器的用户账号(如 root 或自定义用户)
    • server_ip:服务器IP地址或域名(如 168.1.100example.com

示例

ssh admin@203.0.113.5

首次连接会提示确认主机指纹,输入 yes 后继续,再输入对应用户密码即可登录。


高级连接配置

指定端口连接

若服务器SSH端口非默认22(如 2222):

ssh -p 2222 username@server_ip

密钥认证登录(推荐)

步骤

  1. 生成本地密钥对
    ssh-keygen -t rsa -b 4096  # 默认存储到 ~/.ssh/id_rsa
  2. 上传公钥到服务器
    ssh-copy-id -i ~/.ssh/id_rsa.pub username@server_ip

    输入密码后,公钥将自动追加到服务器的 ~/.ssh/authorized_keys

  3. 免密登录
    ssh username@server_ip  # 无需密码直接登录

常见问题解决

连接超时/拒绝连接

  • 检查网络ping server_ip
  • 确认服务状态
    ssh -v username@server_ip  # 启用详细日志
  • 服务器端排查
    • 防火墙是否放行端口:
      sudo firewall-cmd --list-ports  # 查看开放端口
      sudo firewall-cmd --add-port=22/tcp --permanent  # 开放22端口
      sudo firewall-cmd --reload
    • SSH服务是否运行:
      sudo systemctl status sshd  # 检查状态
      sudo systemctl start sshd   # 启动服务

密钥登录失败

  • 权限配置
    确保服务器上以下文件权限正确:

    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
  • 关闭密码登录(增强安全)
    编辑服务器 /etc/ssh/sshd_config

    PasswordAuthentication no  # 禁用密码登录
    PubkeyAuthentication yes   # 启用密钥登录

    重启服务:sudo systemctl restart sshd


安全最佳实践

  1. 禁用root登录
    修改服务器 /etc/ssh/sshd_config

    PermitRootLogin no
  2. 修改默认端口
    Port 22 改为其他端口(如 1022),减少暴力破解风险。
  3. 使用强密码
    若需密码登录,确保密码长度>12位,含大小写字母、数字及符号。
  4. 定期更新
    sudo yum update openssh*  # CentOS 7
    sudo dnf upgrade openssh  # CentOS 8+

常用命令总结

命令 作用
ssh user@host 基础连接
ssh -p port user@host 指定端口连接
ssh -i ~/.ssh/custom_key user@host 使用自定义密钥
scp -P port file user@host:/path 安全传输文件

通过以上步骤,您可高效安全地管理远程服务器,建议优先使用密钥认证,并定期审计服务器日志(/var/log/secure)以监控异常登录。

引用说明基于OpenSSH 8.0官方文档、CentOS系统手册及Linux安全最佳实践编写,所有命令均在CentOS 7/8真实环境测试通过,技术细节参考Red Hat Enterprise Linux (RHEL) 官方安全指南。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6590.html

(0)
酷番叔酷番叔
上一篇 2025年7月7日 14:53
下一篇 2025年7月7日 15:03

相关推荐

  • 易语言如果命令如何结束执行?

    “命令的自动结束机制单分支结构(条件成立) ' 执行代码块条件成立时:执行内部代码后自动结束,继续执行后续程序,条件不成立时:直接跳过代码块自动结束,双分支结构(条件成立) ' 分支1代码否则 ' 分支2代码无论条件是否成立,仅执行一个分支,完成后立即结束整个结构,多分支结构(如果真或判……

    2025年6月13日
    3500
  • Win10命令提示符如何用7种方法打开?

    命令提示符(CMD)是Windows系统的核心工具,用于执行高级管理任务、故障排除和自动化脚本,以下方法适用于所有Windows 10版本(家庭版/专业版/企业版),按使用频率和场景分类:方法 1:通过开始菜单搜索(最快捷)点击任务栏左下角的 Windows图标(或按键盘 Win 键),直接输入 cmd 或 命……

    2025年6月22日
    3400
  • 如何快速连接MySQL服务器?

    启动命令行Windows:按 Win+R 输入 cmd 打开命令提示符Linux/macOS:打开终端(Terminal)登录命令mysql -u 用户名 -p系统提示输入密码(密码输入时不可见)连接远程服务器添加 -h 参数: mysql -h 主机地址 -u 用户名 -p基础操作命令命令作用示例SHOW D……

    2025年6月21日
    3000
  • DOS命令怎么用?

    DOS(Disk Operating System)是早期个人计算机的命令行操作系统,如今我们使用的Windows命令提示符(CMD)和PowerShell继承了其核心语法与功能,掌握基础DOS命令能高效管理文件、诊断网络、自动化任务,是技术用户必备技能,基础操作环境打开命令提示符Windows 10/11:按……

    2025年7月10日
    3300
  • 为何必须进入电脑桌面?

    进入桌面路径是为了直接访问和管理用户最常用的文件、快捷方式及文件夹,该位置是系统默认存储和个人工作区的核心,便于快速启动程序、修改文件或进行系统级操作,提升工作效率。

    2025年6月28日
    3200

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信