服务器怎么创建秘钥对?Linux生成SSH密钥详细步骤

服务器创建密钥对是保障远程登录安全的核心手段,其本质是利用非对称加密算法生成一对相互关联的密钥,其中公钥存放在服务器端,私钥由用户本地保管,以此实现“无密码登录”且极大提升防暴力破解能力。相比传统的密码认证,密钥对认证不仅更安全,还能有效规避弱口令风险,是服务器运维管理的标准操作规范。

服务器怎么创建秘钥对

核心原理与安全优势

在深入操作步骤之前,理解密钥对的运作机制至关重要,密钥对由公钥和私钥组成,二者一一对应。

  1. 私钥:相当于家门钥匙,必须严格保密,绝不在网络中传输。
  2. 公钥:相当于家门锁芯,放置在服务器指定位置,可以公开。

当客户端发起连接请求时,服务器会利用公钥加密一段随机字符串发送给客户端,客户端使用私钥解密后发回服务器,服务器验证解密正确性即可确认身份。 这一过程无需传输密码,即使网络被监听,私钥也不会泄露。

创建前的环境准备

在执行服务器怎么创建秘钥对的具体操作前,需确保环境配置正确,这是保障后续流程顺畅的基础。

  1. 客户端工具:Linux或MacOS系统可直接使用终端;Windows系统建议使用PowerShell或安装Git Bash,也可以使用PuTTY、Xshell等SSH客户端工具。
  2. 服务端权限:必须拥有服务器的root权限或具备sudo权限的普通用户账号。
  3. 网络连通性:确保客户端与服务器之间的22端口(SSH默认端口)网络通畅。

服务器端创建密钥对详细步骤

这是最常用且最推荐的方法,直接在服务器端生成私钥与公钥,然后将私钥下载至本地。这种方式确保了私钥在生成初期未经过不安全的网络传输。

登录服务器终端
使用SSH工具登录到目标服务器,输入密码完成登录。

执行生成命令
输入以下命令启动密钥生成程序:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

  • -t rsa:指定使用RSA算法,兼容性最好。
  • -b 4096:指定密钥长度为4096位,安全性更高。
  • -C:添加注释,通常用于标识密钥用途或所有者。

配置密钥存储路径
系统会提示输入保存路径,默认为~/.ssh/id_rsa

  • 建议操作:直接按回车键使用默认路径,避免后续配置出错。
  • 自定义路径:若需管理多组密钥,可输入自定义路径,如~/.ssh/my_server_key

设置密钥口令
系统会提示输入口令。

服务器怎么创建秘钥对

  • 高安全场景:输入复杂的口令,即使私钥被盗,攻击者仍需破解口令才能使用。
  • 自动化运维场景:若用于脚本自动化登录,可留空直接按两次回车,实现免交互登录,但需确保服务器硬盘安全。

查看生成结果
进入.ssh目录查看文件:
ls -l ~/.ssh/
你会看到两个文件:

  • id_rsa:私钥文件,权限应为600。
  • id_rsa.pub:公钥文件,权限应为644。

配置公钥与SSH服务

生成密钥对后,必须将公钥“安装”到授权列表中,并调整SSH配置以启用密钥认证。

部署公钥至授权文件
执行以下命令,将公钥内容追加到authorized_keys文件中:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
这一步是核心环节,authorized_keys文件是SSH服务验证客户端身份的依据。

设置文件权限
权限设置错误是导致密钥登录失败的常见原因,必须严格执行以下命令:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
SSH服务对权限极其敏感,若权限过于开放(如777),服务会拒绝读取密钥文件。

修改SSH服务配置
编辑SSH配置文件/etc/ssh/sshd_config,确保以下参数设置正确:

  • PubkeyAuthentication yes:启用公钥认证。
  • PasswordAuthentication no:建议关闭密码认证,强制使用密钥登录(需确认密钥登录成功后再修改此项,防止被锁在外面)。
  • AuthorizedKeysFile .ssh/authorized_keys:指定授权文件路径。

修改完成后,重启SSH服务使配置生效:
systemctl restart sshdservice sshd restart

客户端私钥管理与登录验证

服务器端配置完成后,需将生成的私钥文件(id_rsa)安全地下载到本地客户端。

私钥的安全传输
使用SFTP工具(如FileZilla、WinSCP)将服务器上的id_rsa文件下载至本地。下载完成后,务必删除服务器端的私钥文件,仅保留公钥,遵循“私钥不出服务器”的二次防护原则,除非你需要在多客户端登录。

服务器怎么创建秘钥对

本地登录验证

  • Linux/Mac终端:执行 ssh -i /本地路径/id_rsa user@server_ip,若设置了口令,需输入口令。
  • Windows PuTTY:需使用PuTTYgen工具将下载的id_rsa转换为.ppk格式,再加载到PuTTY的Auth配置中进行连接。

验证成功标志
成功登录后,终端提示符会变更为服务器用户界面,若配置了禁用密码登录,尝试用密码登录应显示“Permission denied”。

独立见解与专业建议

在实际的运维工作中,关于服务器怎么创建秘钥对以及后续管理,存在许多容易被忽视的细节,以下是基于E-E-A-T原则的专业建议:

  1. 算法选择策略:虽然RSA-4096目前仍是主流,但在高性能或极高安全需求场景下,建议使用ED25519算法,它具有更短的密钥长度、更快的签名速度,且安全性不输给长位RSA,生成命令为:ssh-keygen -t ed25519
  2. 私钥生命周期管理:密钥对不应“一劳永逸”,建议每半年或一年轮换一次密钥对,对于离职员工的密钥,必须立即从authorized_keys中删除对应公钥。
  3. 避免使用空口令私钥:在CI/CD流水线中,为了方便常使用无口令私钥,这实际上是一个巨大的安全隐患,建议使用ssh-agent来管理有口令的私钥,既保证安全又实现自动化。

相关问答

创建密钥对后,SSH登录提示“Permission denied (publickey)”怎么办?
这是最常见的报错,通常由以下三个原因导致:

  1. 权限问题:检查服务器端.ssh目录是否为700,authorized_keys文件是否为600。
  2. SELinux拦截:在CentOS等系统中,恢复文件安全上下文可解决,执行命令restorecon -R -v ~/.ssh
  3. 错误:检查authorized_keys是否完整,确保没有多余的换行符或缺失字符。

是否可以在本地电脑生成密钥对,再上传公钥到服务器?
完全可以,且这也是一种常用方法。
操作流程为:在本地执行ssh-keygen生成密钥对,然后使用ssh-copy-id user@server_ip命令将本地公钥自动上传至服务器的authorized_keys文件中,这种方法省去了手动下载私钥的步骤,适合从单一控制机管理多台服务器的场景。

如果您在配置过程中遇到其他疑难杂症,欢迎在评论区留言交流。

首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/99541.html

(0)
上一篇 2026年3月17日 14:42
下一篇 2026年3月17日 14:43

相关推荐

  • 为什么服务器群发短信总失败?高到达率平台解决方案揭秘

    服务器短信群发是一种通过专用服务器平台批量发送短信的技术,广泛应用于企业营销、客户通知、系统提醒等场景,它利用API接口或管理后台,实现高效、大规模的信息传递,帮助企业节省成本并提升运营效率,什么是服务器短信群发?服务器短信群发依赖于云服务器或自建服务器系统,通过短信网关连接运营商网络,将消息批量推送给目标用户……

    2026年2月8日
    3430
  • 服务器提前解封怎么办理?服务器提前解封需要什么条件

    服务器提前解封是企业业务连续性管理中的关键环节,其核心在于通过合规申诉与技术排查的双重手段,缩短封禁周期,最大限度降低业务损失,服务器一旦遭遇封禁,每一分钟的停机都意味着直接的经济损失与用户信任度下降,掌握高效、合规的解封流程,是运维团队与企业管理者必须具备的专业能力,实现服务器提前解封,必须建立在明确封禁原因……

    2026年3月12日
    2100
  • 服务器搭建docker怎么用?docker安装配置详细教程

    在服务器上搭建并使用Docker,核心在于掌握“镜像管理、容器运行、数据持久化”这三大关键技术环节,通过标准化的操作流程,可以实现应用的高效部署与隔离运行,极大提升服务器资源的利用率与运维效率,Docker的核心价值与基础环境准备Docker通过容器技术将应用程序及其依赖环境打包在一起,解决了“在我的机器上能跑……

    2026年3月8日
    3000
  • 如何监控服务器硬件性能?全面指南与实用技巧

    服务器硬件性能监控的核心在于构建一个”实时数据采集 + 智能分析 + 主动预警”的三位一体防御体系,它不仅是IT运维的”听诊器”,更是保障业务连续性、优化资源投入、预测潜在风险、支撑关键决策的战略性基础设施,忽视硬件监控,无异于在数字海洋中盲目前行, 监控什么?服务器硬件性能的关键指标服务器硬件是一个精密协作的……

    2026年2月6日
    4450
  • 服务器挡板是什么,服务器挡板安装方法

    服务器挡板作为数据中心物理基础设施中的关键组件,其核心价值在于通过物理隔离与风道导向,精准解决机柜内部设备由于高密度部署而产生的局部热点与气流紊乱问题,是提升制冷效率、降低PUE值(数据中心能源使用效率)以及保障核心硬件稳定运行的高性价比解决方案,相比于昂贵的精密空调升级或复杂的液冷改造,合理部署挡板能够以极低……

    2026年3月12日
    1800
  • 服务器更换怎么做,服务器迁移对网站的影响

    服务器更换是一项旨在提升业务稳定性、优化访问速度并保障数据安全的系统工程,其核心结论在于:成功的硬件或环境迁移绝非简单的“复制粘贴”,而是一场需要严谨规划、精准执行与全面验证的战役,只有在确保数据零丢失、服务停机时间最小化以及新环境配置最优化的前提下,才能实现业务的无缝平滑过渡,从而为企业带来长期的IT投资回报……

    2026年2月23日
    4000
  • 服务器延迟高怎么办,服务器本身的延迟怎么解决?

    在评估网站性能与用户体验时,网络带宽和CDN加速往往受到过度关注,而数据处理源头的效率却被忽视,服务器本身的延迟是决定最终响应速度的基石,它代表了服务器从接收请求到发出响应所需的时间,完全独立于网络传输速度,无论网络环境多么优越,如果服务器处理请求的耗时过长,用户依然无法获得流畅的访问体验,降低这一核心延迟,是……

    2026年2月20日
    4300
  • 服务器搭建云服务器怎么操作?云服务器搭建详细教程

    服务器搭建云服务器的核心在于构建一个高可用、可弹性扩展且安全合规的虚拟化架构,其本质是将物理硬件资源通过虚拟化技术转化为可动态调度的云资源池,这一过程并非简单的系统安装,而是涉及底层硬件选型、虚拟化平台部署、网络架构规划及安全策略配置的系统性工程,成功的搭建能够显著降低IT运维成本,提升业务响应速度,实现资源的……

    2026年3月3日
    3100
  • 服务器控件设置滚动条,服务器控件如何添加滚动条

    服务器控件设置滚动条的核心在于精准控制容器的溢出属性与定位机制,通过CSS样式与后台逻辑的协同配合,实现跨浏览器的稳定视觉效果与交互体验,这一过程并非单纯的前端样式调整,而是涉及HTML渲染规则、DOM结构层级以及服务器端状态保持的综合技术实践,核心结论是:高效的滚动条设置必须遵循“容器约束优先、样式渲染分离……

    2026年3月11日
    1500
  • 服务器提供域名解析是什么意思,域名解析错误怎么解决

    服务器提供域名解析服务是保障网站可访问性与访问速度的基石,其核心价值在于将易于记忆的域名转换为机器可识别的IP地址,这一过程直接决定了用户能否快速、稳定地连接到目标服务器,一个配置得当的域名解析系统,不仅能够提升用户体验,还能增强网站的SEO表现与安全性,域名解析的核心机制与工作原理域名解析并非简单的查询过程……

    2026年3月13日
    1900

发表回复

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