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

相关推荐

  • 什么是.u python?python中.u编码怎么解决

    .u python 文件并非独立可执行脚本,而是 Python 开发环境中的项目配置或用户数据文件,通常需通过 IDE 或命令行解释器来读取和处理,其核心作用在于管理项目依赖、用户偏好设置或序列化存储数据,在日常的 Python 开发流程中,开发者经常会遇到各种以 .u 结尾的文件后缀,这些文件往往让新手感到困……

    2026年7月4日
    17000
  • 个人备案规则是什么?个人网站备案流程详解

    个人备案的核心在于主体必须是境内个人,且网站内容严禁涉及经营性业务,否则将面临备案被注销或域名被阻断的风险,很多站长在搭建网站时,往往忽略了备案主体的身份限制,导致后期运营中出现各种麻烦,个人备案并非简单的“填个表”,它是一套严格的合规流程,如果你只是想做技术分享、日记记录或者非盈利的个人主页,个人备案是性价比……

    服务器运维 2026年6月7日
    4700
  • 发展云计算的优势是什么,云计算的主要优势有哪些?

    发展云计算的核心优势在于帮助企业以更低成本获得更高弹性、安全性和创新能力,这是数字化转型的必然选择,云计算成本优势分析:从CAPEX到OPEX的转变传统IT采购模式需要一次性投入大量资金购买服务器、存储和网络设备,之后每年还要支付电费、机房租金和运维人员工资,云计算将这一切变成了按需使用的服务费,企业无需再为闲……

    2026年7月29日
    100
  • 服务器尺寸有几u的,服务器1U2U4U区别是什么

    服务器的物理规格是数据中心基础设施规划的核心要素,U”数作为衡量机架式服务器高度的标准单位,直接决定了设备的计算密度、扩展能力以及散热效率,选择合适的服务器尺寸,本质上是在空间利用率与性能上限之间寻找最佳平衡点,对于企业而言,明确业务需求并匹配相应的服务器规格,能够有效降低长期运营成本并提升系统稳定性,在探讨服……

    2026年2月25日
    14500
  • 服务器最新活动有哪些?现在买服务器怎么最划算

    当前服务器市场正处于激烈的“价格战”与“技术升级”叠加期,对于企业及开发者而言,这是降低IT基础设施成本的黄金窗口期,核心结论在于:单纯追求“低价”已不再是最佳策略,真正的性价比在于结合业务场景选择高算力、高带宽且具备长期续费优势的实例,目前的头部厂商活动主要集中在“新用户专享”、“企业级实例特惠”以及“AI算……

    2026年2月17日
    15500
  • 电脑dns服务器地址怎么填?国内常用dns服务器地址推荐

    个人电脑DNS服务器地址的核心在于将默认的运营商自动分配改为手动指定,推荐使用国内阿里DNS(223.5.5.5)或腾讯DNS(119.29.29.29)以显著提升网页加载速度与连接稳定性,DNS(域名系统)就像是互联网的电话簿,它负责将人类易记的网址(如www.baidu.com)翻译成计算机能识别的IP地址……

    服务器运维 2026年5月27日
    3900
  • 服务器快速建网站,如何利用服务器快速搭建网站?

    服务器快速建网站的核心在于标准化流程与自动化工具的结合,通过选择高性能服务器环境、预装建站系统以及优化基础配置,用户完全可以在30分钟内完成从服务器购买到网站上线的全过程,效率是衡量现代建站能力的关键指标,无需深厚的代码功底,只需掌握正确的操作逻辑,即可实现高效部署, 服务器环境选型与精准配置建站的第一步并非急……

    2026年3月23日
    10300
  • 帕鲁服务器可以安装的模组有哪些,怎么安装?

    帕鲁服务器可以安装的mod种类繁多,覆盖建筑、宠物、生存、平衡性及功能增强等方向,目前主流方案是通过UE4SS框架或PalMod-Loader等工具加载,不少mod已支持多人在线同步,核心mod分类与推荐清单帕鲁的mod生态主要围绕虚幻引擎4展开,社区在GitHub、Nexus Mods等平台持续更新,根据功能……

    2026年7月28日
    000
  • 服务器盗链怎么解决?防盗链设置与资源保护技巧

    服务器盗链是指未经资源所有者许可,其他网站通过直接链接(如图片、视频、音频、文件等URL)引用其服务器上的资源,从而消耗原服务器的带宽、存储和计算资源的行为,这是一种常见的网络资源滥用形式,对资源拥有者造成实质性损害,必须采取有效措施予以防范和制止, 盗链的运作机制与核心危害盗链并非复杂的技术入侵,其原理简单却……

    2026年2月8日
    13730
  • 哪里可以免费注册个人域名?个人免费域名注册网站推荐

    目前市面上已无真正永久免费且支持顶级域名(如.com/.cn)的注册服务,所谓的“免费”通常仅指首年优惠或特定二级域名,建议新用户直接购买首年低至10-20元的顶级域名,以确保资产安全与品牌独立性,在2026年的互联网环境下,域名早已从单纯的“网络地址”演变为数字资产的核心载体,许多初入建站领域的朋友,依然执着……

    2026年6月14日
    2700

发表回复

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