虚拟机公共密钥是什么?如何配置与使用?

虚拟机公共密钥(Public Key)本质上是一串加密字符,用于替代密码验证登录虚拟机,配置后无需输入密码即可完成SSH连接,同时显著提升安全性,它的核心机制是“公钥加密、私钥解密”的非对称加密配对,公钥放在虚拟机里,私钥保存在本地,两者配对成功才能放行。

公共密钥的工作原理是什么?

非对称加密的核心逻辑

公共密钥登录依赖一对密钥:公钥和私钥,公钥相当于一把锁,安装在虚拟机的~/.ssh/authorized_keys文件中;私钥相当于钥匙,保存在你的本地电脑上,当你发起SSH连接时,虚拟机会用公钥生成一道随机密码题,只有持有对应私钥的客户端才能解出正确答案。

核电站AZ3密钥保姆级别使用教学
加载中
核电站AZ3密钥保姆级别使用教学

为什么比密码登录更安全

密码登录存在两大隐患:暴力破解和密码泄露,公钥认证则完全不同,私钥文件长度通常为2048位或4096位,暴力穷举在数学上不可行,据行业安全报告,启用密钥登录后,服务器被暴力破解的概率大幅下降,即使虚拟机被入侵,攻击者拿到的也仅仅是公钥,无法反推出私钥。

公钥与私钥的对比

项目 公钥 私钥
存放位置 虚拟机(服务器端) 本地电脑(客户端)
权限要求 必须为600或更严格 必须为600
泄露风险 泄露不影响安全 泄露需立即吊销
用途 加密验证请求 解密完成认证

虚拟机密钥怎么配置?分步骤操作

第一步:在本地生成密钥对

打开终端(Windows使用PowerShell,macOS/Linux使用自带终端),输入:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

系统会询问保存路径,默认在~/.ssh/id_rsa,建议直接回车使用默认路径,随后提示设置私钥口令(passphrase),这是额外一层保护,即使私钥文件被盗也无法直接使用,但每次连接需要输入一次口令。

第二步:将公钥上传到虚拟机

执行以下命令将公钥内容追加到虚拟机的授权列表:

ssh-copy-id user@your_vm_ip

输入一次虚拟机密码后,公钥自动写入,如果你的系统没有

虚拟机公共密钥是什么?如何配置与使用?

ssh-copy-id命令,手动执行:

cat ~/.ssh/id_rsa.pub | ssh user@your_vm_ip "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

第三步:测试免密登录

ssh user@your_vm_ip

如果一切正常,无需输入密码直接进入系统,Windows用户在PowerShell中操作时,如果使用非OpenSSH客户端(如PuTTY),需要在PuTTYgen中导入私钥并转换格式。

虚拟机公钥和私钥的区别,如何理解?

文件格式差异

公钥文件通常以.pub内容是一行以ssh-rsa开头的长字符串,末尾带注释,私钥文件没有扩展名,内容以-----BEGIN RSA PRIVATE KEY-----开头,两者格式完全不同,互不可推断。

在连接过程中扮演的角色

当你执行SSH连接时,虚拟机会从authorized_keys文件中读取公钥,生成一个随机挑战发送给客户端,客户端用私钥对该挑战进行签名,虚拟机验证签名合法后,才允许建立会话,整个过程,私钥始终不离开你的电脑。

日常使用中的误区

多数人混淆两者的用途,公钥可以公开给任何人,甚至放在GitHub仓库都没问题,私钥必须密不示人,任何索要私钥的行为都是钓鱼,行业共识认为:公钥是身份标识,私钥是身份凭证,凭证绝不能交给第三方。

常见应用场景与操作技巧

多台虚拟机共用一套密钥

如果你有开发、测试、生产三套环境,无需每台生成不同密钥,只需将同一个公钥分别追加到各台的authorized_keys,就能实现一套私钥登录所有机器,具体操作:重复执行ssh-copy-id,或者在每台机器上手动追加公钥内容。

为不同用户配置不同公钥

每台虚拟机可以存在多个用户,每个用户有自己的~/.ssh/authorized_keys,例如root用户和deploy用户各存一份公钥,管理上互不干扰,配置时注意文件所有者必须是对应用户,否则SSH服务会拒绝读取。

彻底关闭密码登录

公钥验证成功后,可以修改虚拟机SSH配置强化安全,编辑/etc/ssh/sshd_config,找到以下行:

PasswordAuthentication no
PubkeyAuthentication yes

虚拟机公共密钥是什么?如何配置与使用?

修改后重启服务:

sudo systemctl restart sshd

重启前务必在当前会话中测试密钥登录是否正常,防止把自己锁在外面,多数云服务商(如简米云、酷番云)的安全组规则还允许额外限制SSH端口来源IP,搭配密钥登录构成双重防护。

排查连接失败的命令

  • ssh -v user@your_vm_ip:输出详细连接日志,查看认证过程卡在哪一步。
  • ls -l ~/.ssh/authorized_keys:检查文件权限是否为600。
  • journalctl -u sshd:查看系统日志中的认证错误记录。
  • restorecon -R ~/.ssh:SELinux开启时恢复上下文。

Windows虚拟机如何配置密钥登录?

Windows Server 2019及以上版本自带OpenSSH Server,但配置路径与Linux不同,管理员权限打开PowerShell:

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Start-Service sshd

公钥文件需要放在C:Users你的用户名.sshauthorized_keys,且administrators组以外的用户需要对authorized_keys文件设置只读权限,设置方法用icacls命令:

icacls C:Users用户名.sshauthorized_keys /inheritance:r /grant "用户名:F" /grant "SYSTEM:F"

Windows的administrators用户组权限较高,SSH服务默认允许管理员使用密钥登录,但普通用户需要额外配置sshd_config中的Match Group administrators规则。

密钥管理的最佳实践

定期轮换密钥

密钥使用时间越长,泄露风险越高,建议每半年生成一次新密钥对,替换虚拟机上的公钥,并注销旧公钥,操作时先添加新公钥,验证新私钥可登录后再删除旧公钥,避免中断业务。

私钥加密保护

生成密钥时设置passphrase,配合ssh-agent工具使用,在本地启动ssh-agent后,输入一次passphrase,后续连接无需重复输入:

eval $(ssh-agent)
ssh-add ~/.ssh/id_rsa

macOS用户可以用ssh-add --apple-use-keychain将passphrase存入钥匙串,实现免输入体验。

备份与撤销机制

私钥备份应存储在加密U盘或密码管理器中,不建议存放在网盘,一旦发现私钥泄露,立即从所有虚拟机的authorized_keys

虚拟机公共密钥是什么?如何配置与使用?

中删除对应公钥,同时检查服务器登录日志,确认是否存在可疑操作。

公共密钥配置中常见的坑

  • 权限过于宽松:authorized_keys如果权限不是600,SSH服务会拒绝使用它,设置chmod 600 ~/.ssh/authorized_keys。
  • 文件所有者错误:~/.ssh目录必须属于当前登录用户,不能是root或其他人,用chown -R 用户名:用户名 ~/.ssh修正。
  • Cloud-init覆盖:部分云服务器重启后,Cloud-init会重新初始化authorized_keys,导致手动添加的公钥消失,需修改/etc/cloud/cloud.cfg中的ssh_authorized_keys配置。
  • SELinux阻断:CentOS/RHEL系统默认SELinux状态可能拒绝SSH读取新文件,使用restorecon -R -v ~/.ssh恢复正确上下文。

Q&A:虚拟机公共密钥常见问题

公钥登录和密码登录可以同时开启吗?

可以。sshd_config中PasswordAuthentication yes表示同时允许两种方式,多数场景下建议先保留密码登录,待密钥验证无误后再关闭,开启两者时,SSH会优先尝试密钥认证,失败后回退到密码,这样既不安全也容易困惑,运维人员通常的做法是:测试阶段双开,正式环境关闭密码。

公钥泄露了会有什么后果?

公钥本身是公开信息,泄露后攻击者无法直接利用,但会带来枚举风险,攻击者可以尝试将泄露的公钥与暴力破解获取的私钥配对,或者利用公钥探测目标虚拟机是否使用相同的密钥对,因此公钥泄露后需要评估:该公钥是否在多台机器重复使用,如果重复使用,建议轮换所有涉及机器的密钥对。

虚拟机密钥登录和云厂商VNC登录有什么关系?

VNC登录是云控制台提供的带外管理通道,不依赖SSH服务,即使系统网络异常或SSH配置错误也能通过VNC进入系统,密钥登录属于系统内部的SSH认证机制,两者互为补充,当SSH配置错误导致无法连接时,可以通过VNC登录修复配置,这比物理接触服务器更高效,据云计算行业统计,大部分SSH连接故障都是可以通过VNC恢复的。

公共密钥配置一次,长期受益,它既解决了密码暴力破解的风险,也简化了日常登录操作,无论你管理一台还是上百台虚拟机,公钥认证都是基础设施安全的必要环节。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/617244.html

赞 (0)
独立域名和批量域名区别是什么?如何选择?
上一篇 2026年9月2日 15:07
XAMPP如何绑定本地域名到项目目录,xampp域名配置方法?
下一篇 2026年9月2日 15:11

相关推荐

  • html代码怎么添加文字?html代码添加文字代码

    在HTML中添加文字最基础且核心的方法是使用文本标签(如、、等)包裹内容,并通过CSS属性控制其样式与布局,很多初学者在接触前端开发时,往往觉得“添加文字”是一件微不足道的小事,甚至认为只要打字就能显示,在2026年的Web开发环境中,语义化、可访问性以及性能优化已经让简单的文本展示变得极具讲究,如果你只是想把……

    2026年6月7日
    4000
  • html5移动购物网站模板怎么做?html5购物网站源码下载

    HTML5移动购物网站模板是构建移动端电商入口的高效方案,其核心价值在于通过响应式设计与轻量化代码,实现跨设备兼容、加载速度提升及用户体验优化,从而直接促进转化率增长,在移动互联网流量红利见顶的当下,企业若仍依赖传统的PC端适配方案,将面临极高的跳出率和流失率,业内专家指出,移动端页面加载每延迟1秒,转化率可能……

    2026年6月7日
    4000
  • nginx多域名如何绑定不同目录?,配置方法详解。

    nginx多域名绑定后,实现不同域名访问不同目录的核心方法是通过配置server_name匹配规则,并在对应的server块中设置root或alias指令指向各自的站点目录,这就像给服务器装上了分拣系统,每个域名一来,nginx就能准确把它引到属于自己的“房间”,下面直接拆解配置步骤与避坑方案,nginx多域名……

    2026年9月1日
    100
  • 广安智能DNS解析讲解,广安智能DNS解析有什么优势?

    广安智能DNS解析的核心价值在于通过精准的流量调度与高可用架构,实现网站访问速度的质变与业务连续性的保障,它是连接用户与服务器之间最智能的“交通指挥官”,在复杂的网络环境中,单一的解析记录已无法满足企业对稳定性与速度的极致追求,智能DNS解析通过实时监测网络状态与节点负载,将用户请求导向最优节点,从而确保持续……

    2026年4月2日
    8700
  • 互联网区块链溯源架构是什么?区块链溯源技术原理详解

    互联网区块链溯源架构通过“数据上链+智能合约+多方共识”机制,实现了从生产到消费全链路信息的不可篡改与透明可查,彻底解决了传统溯源中信息孤岛与信任缺失的痛点,区块链溯源的核心逻辑与架构拆解传统溯源系统就像一本容易被涂改的账本,而区块链溯源则是将每一笔交易、每一个环节都刻在公共石碑上,这种架构并非简单的数据库升级……

    服务器宽带 2026年6月1日
    5300
  • 服务器经常卡顿?可能是带宽问题,服务器带宽不足怎么解决?

    服务器出现频繁卡顿、响应延迟高甚至连接超时,核心原因往往指向带宽资源瓶颈,当服务器CPU负载不高、内存充裕时,若依然出现性能瓶颈,带宽不足或带宽质量差是最大的嫌疑对象,带宽决定了数据传输的“道路宽度”,一旦车流量(用户访问请求)超过道路承载能力,拥堵(卡顿)便不可避免,解决服务器卡顿问题,必须从带宽的精准评估……

    2026年3月7日
    14400
  • Access模糊查询查不到数据怎么办?Access模糊查询不显示结果的解决方法

    Access模糊查询查不到数据,核心原因通常在于字段类型不匹配、通配符使用错误或查询设计器未正确应用Criteria条件,通过检查数据类型并规范使用Like语句及通配符可解决90%以上的此类问题,在数据库日常维护中,模糊查询是最高频的操作之一,但很多用户发现明明输入了关键词,结果却返回空值,这种“查无此人”的现……

    2026年7月1日
    2700
  • 广州60g高防dns解析怎么防?高防DNS解析如何配置?

    广州60g高防dns解析防御的核心在于构建“流量清洗+智能调度+协议优化”的三位一体防护体系,通过高防DNS节点实时过滤恶意流量,确保源站IP隐藏与业务连续性,该方案能有效抵御SYN Flood、UDP Flood等常见DDoS攻击,同时保障解析速度与稳定性,适用于金融、游戏、电商等高可用性场景,流量清洗技术……

    2026年4月1日
    10500
  • 互联网bi分析系统软件是什么意思?bi系统软件哪个好用

    互联网BI分析系统软件,本质上是利用云计算技术,将企业分散在各部门的业务数据集中起来,通过可视化图表和智能算法,帮助管理者从海量数据中快速发现规律、预测趋势并辅助决策的工具,互联网BI分析系统软件是什么意思从数据孤岛到决策大脑的进化过去,企业的销售数据在CRM里,财务数据在ERP中,用户行为数据躺在服务器日志里……

    2026年6月3日
    3600
  • 广告智能创作是什么?揭秘广告智能创作工具排行榜

    广告智能创作已成为企业实现营销效率倍增与成本可控的核心驱动力,在流量红利见顶的当下,传统的人工文案撰写与素材制作模式,已无法满足多平台、高频次、个性化的投放需求,企业必须借助AI技术,实现从“人力堆砌”向“智能产出”的跨越,通过数据驱动的创意生成,精准触达目标受众,从而在激烈的市场竞争中确立优势, 突破产能瓶颈……

    2026年4月3日
    8600

发表回复

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