服务器怎么创建秘钥对?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 sshd 或 service 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
AIoT有哪些研究方向?AIoT研究方向前景如何
下一篇 2026年3月17日 14:43

相关推荐

  • 服务器怎么ssh连接?Linux服务器SSH远程登录教程

    服务器SSH连接的核心在于“正确配置网络环境、精准获取连接凭证、规范执行终端指令”这三步闭环,只要掌握IP地址、端口、用户名和密码这四大要素,并使用匹配的终端工具,即可在分钟级时间内建立安全的远程管理通道,无需深厚的网络底层知识即可上手, 核心准备:四大连接要素的获取与核对在尝试连接之前,必须手握开启服务器大门……

    2026年3月23日
    14200
  • 个人注册域名靠谱吗?个人注册域名需要多少钱

    个人注册域名完全可行且成本低廉,适合个人品牌展示、技术博客或轻量级项目,但需注意续费成本与备案限制,在2026年的互联网生态中,拥有一个专属域名依然是建立数字身份的最基础一步,许多人纠结于“个人是否值得拥有域名”,其实答案取决于你的使用场景,如果你只是想在社交媒体上分享生活,域名并非必需;但如果你希望构建一个完……

    2026年5月28日
    4200
  • 安徽pdu服务器电源种类有哪些

    安徽PDU服务器电源种类涵盖基础型配电单元、智能型PDU、模块化开关电源及冗余电源方案,具体选择取决于数据中心的规模与运维需求,安徽PDU服务器电源的核心分类基础型PDU:简单配电的可靠基础基础型PDU是数据中心最常见的配电设备,功能围绕单一目标——将输入电源分配到多个机柜插座,它不提供远程监控或控制,但胜在结……

    2026年8月20日
    600
  • 嘉兴仓储调度卡顿租大带宽能解决吗,哪家更划算?

    嘉兴仓储调度系统卡顿,最直接的解决方案是租用嘉兴本地的动态BGP大带宽服务器,将带宽从默认的5M提升至50M起步,并搭配带宽计费模式,通常能解决90%以上的调度延迟问题,仓储调度系统的卡顿,本质上不是服务器CPU不够快,而是网络带宽成了瓶颈,WMS系统、TMS系统、电子拣货终端(PDA/RFID)每天产生海量的……

    2026年8月13日
    500
  • 个人域名能过户给公司吗,域名过户流程及注意事项

    个人域名可以过户给公司,但流程比想象复杂,核心在于完成域名注册商层面的“所有者信息变更”以及税务层面的合规处理,通常耗时3-7个工作日,且需确保域名无锁定状态,很多创业者在起步阶段习惯用个人身份证注册域名,觉得方便且隐私保护较好,但当公司主体确立,需要品牌资产正规化时,这个“个人名义”的域名就成了合规隐患,业内……

    2026年6月10日
    3800
  • 服务器一般用在哪些场景,怎么选性价比最高?

    服务器按业务需求可分为Web网站、企业应用、数据库、游戏及存储备份等核心场景,不同场景对计算、网络和存储的配置要求差异显著,一个业务系统选什么服务器,取决于三个核心指标:用户并发量、数据敏感度和业务连续性要求,面向公众的网站需要高带宽和弹性扩展;内部管理系统则更看重数据安全和稳定的运维响应;而游戏和高性能计算类……

    2026年9月18日
    100
  • FTP服务器是长连接还是短连接,长连接短连接怎么选

    FTP协议本质上是基于长连接的控制协议,但在数据传输时会根据模式不同建立短连接的数据通道,这个结论并非绝对,很多初学者会被FTP主动、被动模式的切换搞晕,你输入账号密码的那个命令通道始终是长连接,而真正传文件的数据通道,每一次传输都是新建的短连接,传完即断,FTP是长连接还是短连接?核心机制解析要彻底搞懂这个问……

    2026年7月30日
    500
  • golang网关服务器如何实现高并发?golang网关服务器架构详解

    Golang网关服务器凭借高并发处理能力和低内存占用,已成为构建微服务架构中API网关的首选方案,尤其适合需要高吞吐量和快速响应的互联网业务场景,在微服务架构日益普及的今天,网关作为流量的入口,其性能直接决定了整个系统的稳定性,传统的Java或Node.js网关在面对海量并发请求时,往往需要消耗大量的内存资源……

    2026年6月25日
    1500
  • 服务器服务端口是什么问题,服务器端口不通怎么解决?

    服务器服务端口本质上是网络通信的逻辑通道,是服务器与外部世界进行数据交换的必经关口,当出现连接失败、服务无响应或遭受攻击时,核心往往归结于端口的配置错误、冲突或安全策略限制,理解并解决端口问题,是保障服务器稳定性和安全性的基石,深入解析:服务端口的本质与分类在网络技术中,IP地址定位了具体的设备,而端口则定位了……

    2026年2月21日
    13200
  • 如何增强服务器安全配置,服务器安全配置的注意事项有哪些?

    服务器安全增强配置的核心在于最小权限、及时更新、防火墙规则和日志审计,这四步能抵御绝大多数常见攻击,很多运维团队在初期都会忽略这些基础工作,等到出现入侵事件才后悔莫及,下面从实操角度,把整个安全增强过程拆解成可执行的步骤,覆盖从系统层到应用层的常见配置,服务器安全加固步骤安全加固并非一次性工作,而是需要持续维护……

    2026年8月4日
    300

发表回复

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