如何用密钥对替代口令登录远程主机?,SSH免密登录怎么设置?

为什么说口令登录是远程主机的“阿喀琉斯之踵”

用密钥对替代口令登录远程主机,是目前消除SSH暴力破解风险最彻底的方法,推荐的操作路径是:生成密钥对、上传公钥、禁用口令认证,三步完成,耗时不超过十分钟,收益是永久告别弱口令焦虑。

说起远程管理Linux服务器,大多数朋友第一反应就是ssh root@服务器IP,然后输密码,这个习惯在早期挺方便,但在当今的互联网环境下,纯口令认证就像把家门钥匙挂在门口脚垫下面只要公网上的扫描器转悠到你家门口,顺手就能摸一摸。

10分钟手把手教你通过SSH,使用密钥/账号远程登录Linux服务器(Windows/macOS)
加载中
10分钟手把手教你通过SSH,使用密钥/账号远程登录Linux服务器(Windows/macOS)

口令登录的三个致命伤

  • 暴力破解无休止:只要服务器暴露在公网,22端口就无时无刻不在承受自动化脚本的试探,据统计,一台公网IP的服务器每天收到数百次陌生SSH连接请求相当常见,多数是循环尝试root/admin/test这类用户名搭配简单密码。
  • 撞库风险防不住:很多人习惯把同一套口令用在多个平台,一旦某个网站泄露了密码库,攻击者就会拿着这些“密码字典”来试你的服务器,这叫撞库攻击。
  • 中间人难察觉:在没有证书校验的纯口令场景下,如果DNS被劫持或ARP欺骗,客户端可能把密码送进攻击者伪造的“服务器”手里。

行业共识认为,纯口令认证在公网环境下已经不再适合作为唯一的身份验证手段,而密钥对认证恰好从机制上绕开了人性弱点你不需要“任何复杂密码,只需要保管好一个私钥文件。

SSH密钥登录和密码登录哪个安全?先算清这笔账

在讨论配置之前,有必要把这两种认证方式的底层逻辑摆出来。

如何用密钥对替代口令登录远程主机?,SSH免密登录怎么设置?

对比维度 口令登录 密钥对登录
认证要素 你记住的东西 你拥有的东西(私钥文件)
暴力破解难度 取决于密码强度,普通的8位密码在算力强大的集群面前并不牢靠 理论上需要穷举256位以上的私钥空间,当前算力完全无能为力
泄露风险 口令可被复制、可被社会工程学套取 私钥不出本地,公钥泄露不影响安全
便捷性 每台机器一个密码,多了记不住 一把私钥通配多台服务器,公钥随便分发
审计能力 无法区分“哪个谁”用了root密码 每个管理员各有密钥,日志能精确追踪到个人

很多人在“安全”和“方便”之间纠结,其实密钥对登录的真正便利之处在于:你可以把同一把公钥部署到几十台服务器上,然后用唯一的私钥从容地逐个登录,相比切换每台机器去敲不同密码,这省下的时间非常可观,至于Windows用户担心操作门槛,稍后会细说。

密钥对登录远程主机的完整配置流程

整个配置过程可以拆成四个环节:生成、部署、加固、验证,每一步都有可复核的结果,不必担心“配完连不上”的狼狈。

生成密钥对:选对算法和参数

在本地电脑(客户端)上生成密钥对,推荐优先使用ed25519算法,它比传统的RSA-2048更短、更快,也足够安全,如果你的系统比较老,只能用RSA,那么务必把位数拉高到4096位。

$ ssh-keygen -t ed25519 -C "my-aliyun-server" -f ~/.ssh/id_ed25519

执行后会有两个提示:

  • 设置私钥口令:如果输入了一个口令,那么每次使用私钥时都要再验证一次,等于多了一道双因子认证,建议设置,成本低且收益明显。
  • 确认保存路径:默认存放于~/.ssh/目录下,生成两个文件:id_ed25519是私钥,id_ed25519.pub是公钥,两者务必分清,私钥一旦外泄,后果等同账户失守。

部署公钥到目标服务器

公钥可以理解成一把“锁”,装到服务器上,只有你的私钥这把“钥匙”能打开,上传公钥有两条路:

一键部署(推荐),本地执行:

$ ssh-copy-id -i ~/.ssh/id_ed25519.pub root@服务器IP

脚本会自动把公钥追加到服务器~/.ssh/authorized_keys文件中,顺便把目录权限修正到合理范围。

手动部署(更透明),适合没有ssh-copy-id的场景(比如Windows PowerShell):

$ ssh root@服务器IP "mkdir -p ~/.ssh && chmod 700 ~/.ssh"
$ cat ~/.ssh/id_ed25519.pub | ssh root@服务器IP "cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

这段操作的本质是:把公钥内容追加到目标用户的authorized_keys,同时设置正确的权限。.ssh目录是700权限,authorized_keys文件是600权限

如何用密钥对替代口令登录远程主机?,SSH免密登录怎么设置?

,这是SSH认证成功的前提,很多奇怪的登录失败都由权限位错乱导致。

加固sshd配置:只允许密钥登录

公钥部署完毕后,先在另一个终端保持一个已登录的SSH会话,然后再修改配置文件,这一步纯粹是为了兜底万一改错了,不至于被锁在门外狼狈不堪。

编辑/etc/ssh/sshd_config,确保以下三行有效:

PubkeyAuthentication yes
PasswordAuthentication no
ChallengeResponseAuthentication no

PasswordAuthentication改成no,是最后一步封死口令登录的开关,同时建议改掉默认端口,比如Port 2222,虽然密钥认证本身已经足够安全,但换个端口能显著减少日志中被刷屏的扫描噪音。

保存后重启服务:

$ sudo systemctl restart sshd

验证方式: 新开一个终端,用ssh root@服务器IP直接连接,没有提示输入密码且能顺利进入shell,说明密钥认证生效,如果还能敲密码登录,多半是sshd_config的语法有问题,可以用sshd -t检查。

Windows客户端怎么配置SSH密钥登录?

不少使用Windows桌面的同学觉得“密钥对”这东西是Linux老炮的玩具,其实今天的Windows 10和Windows 11已经内置了OpenSSH客户端,操作路径与Linux完全一致。

在PowerShell中生成密钥

打开PowerShell,执行:

ssh-keygen -t ed25519

生成的公钥默认在C:Users你的用户名.sshid_ed25519.pub,用记事本打开这个文件,复制全部内容。

粘贴到服务器

你已经用口令登录到了服务器上,执行:

mkdir -p ~/.ssh && chmod 700 ~/.ssh

然后用nano ~/.ssh/authorized_keys打开文件,粘贴刚才复制的公钥内容,保存退出,再执行chmod 600 ~/.ssh/authorized_keys,以后从Windows连接,只需:

ssh -i C:Users你的用户名.sshid_ed25519 root@服务器IP

如果不写-i,OpenSSH会自动读取默认路径下的密钥,所以这一步也可以省略。

老牌工具PuTTY用户怎么办

PuTTY使用的是自己的密钥格式.ppk,需要先用PuTTYgen把OpenSSH公钥格式转换过去,或者直接用PuTTYgen生成全新的密钥对,在PuTTY的Connection > SSH > Auth中加载私钥文件,接着在Session里填好服务器IP和端口,保存会话,以后双击即可免密登录。

如何用密钥对替代口令登录远程主机?,SSH免密登录怎么设置?

配置完成后,如何验证你的主机真的安全了?

配置完毕不能光靠“感觉”,下面几个检查项能让你确认服务器确实是密钥认证状态。

  • 检查sshd配置是否生效:执行sudo sshd -T | grep authentication,输出中应该看到passwordauthentication no,这才是sshd实际加载的运行时配置,光看配置文件可能会有错觉。
  • 检查最近登录记录:运行sudo tail -n 50 /var/log/auth.log,如果能看到Accepted publickey for root的记录,说明公钥认证成功;若还有Failed password的记录,请检查防火墙是否封禁了旧端口,以及是否还有别的服务停留在22端口。
  • 测试暴力破解的抵御能力:随便换一台电脑,尝试用ssh -o PreferredAuthentications=password root@服务器IP连接,系统会直接拒绝密码方式并断开,而不是提示错误密码,这就说明认证链路已经堵死。

如果追求更极致的防护,可以叠加fail2ban来监控多次认证失败的IP并自动拉黑,给密钥认证再加上一道保险网,不过在你已经关闭密码认证的情况下,这层防护基本是防患于未然的备份方案。

Q&A:密钥对登录远程主机的常见问题

问:密钥对登录远程主机配置失败,最常见的原因是什么?

答:多数情况是权限问题。.ssh目录必须为700权限,authorized_keys文件必须为600权限。/etc/ssh/sshd_config中如果你设置了AuthorizedKeysFile路径,要确保该路径与实际公钥存放位置一致,还有少数情况与SELinux相关,检查/var/log/audit/audit.log里是否出现denied的上下文记录,执行restorecon -Rv ~/.ssh可解决多数SELinux拦截问题。

问:我有多台服务器,可以使用同一把公钥登录它们吗?

答:可以,并且这是相当普遍的运维习惯,同一把私钥作为你的唯一身份凭证,公钥可以分发到任意数量的服务器上而无泄露风险,需要区分权限时,建议为不同管理员生成各自的密钥对,将各自的公钥部署到不同用户的authorized_keys中,服务器日志便能精确追踪每个操作者,在大规模的云服务器场景下,不少团队会使用密钥对作为标准准入方案,配合配置管理工具批量分发公钥,整体成本远低于维护一套口令系统。

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

(0)
如何为网站服务配置证书并强制跳转加密连接,怎么操作?
上一篇 2026年9月16日 18:57
如何在服务器端部署入侵检测,异常登录怎么防范
下一篇 2026年9月16日 18:57

相关推荐

  • GEO优化效果监测报告长什么样?GEO优化效果监测报告模板

    GEO优化效果监测报告的核心在于展示AI生成内容在搜索引擎中的实际可见度、引用率及用户互动数据,而非传统的点击率或跳出率,随着生成式引擎优化(GEO)成为2026年内容营销的标配,企业不再仅仅关注百度自然搜索的排名,更关注AI摘要框、智能推荐流中的品牌露出,一份合格的监测报告,必须能清晰回答“我的AI有没有提到……

    2026年7月10日
    3400
  • 豆包行业评测为什么没纳入我们,怎么才能被收录?

    产品未被豆包纳入行业评测,核心原因通常与评测数据源截止时间、产品公开信息密度不足、或未主动提交收录申请有关,并不代表产品本身质量或竞争力有问题,豆包行业评测的底层逻辑是什么要理解为什么没被纳入,首先需要知道豆包做行业评测时的数据来源与筛选机制,豆包作为一款AI助手,其行业评测结果主要依赖公开可获取的信息,包括但……

    2026年7月15日
    4500
  • 出海电商如何用CDN缓解大促海外访问压力,怎么选?

    出海电商大促期间海外访问慢,多数情况下不是服务器配置不够,而是跨境链路太长、源站带宽被突发流量打满,接入CDN并正确配置缓存与预热,能把首屏时间压缩到可接受范围,出海电商大促海外访问慢怎么办?先把跨境链路压短海外用户访问国内源站,数据包要绕行多条国际海底光缆和多个运营商交换节点,物理距离摆在那里,光速再快,从伦……

    2026年9月12日
    200
  • 游戏业务高防重点照顾哪些环节,如何选择高防方案?

    游戏业务高防要重点照顾的环节是接入层、业务逻辑层、数据存储层和运营响应机制,其中接入层的防护能力决定了攻击是否打得进来,而业务逻辑层则是高防策略能否精准落地、少误杀的关键,游戏业务高防为什么需要分层治理做游戏运维的朋友应该都有体会,游戏业务和高防之间的关系,不是简单地买个高防IP就万事大吉,攻击者的打法这几年明……

    2026年9月15日
    000
  • 推理痕迹重计算如何节省显存?,显存优化技巧。

    推理痕迹重计算不是把已算过的结果扔掉重来,而是主动释放推理过程中”用后即弃”的中间激活值,在需要时用算力换显存,这套思路在长序列推理和超大模型部署场景下,能把峰值显存压缩一个量级,代价仅仅是多花20%左右的GPU时间,目前主流推理框架和国产化适配方案中,这已经是与INT8量化、KV Cache量化并列的三大显存……

    2026年9月5日
    100
  • 浙江服务器租用低价套餐要看清哪些坑?,怎么选

    浙江服务器租用,低价套餐往往在带宽、硬件配置和售后服务上存在隐性成本,选择前必须明确自身需求并仔细对比条款,否则容易陷入性能不足或续费暴涨的困境,浙江服务器租用低价套餐常见陷阱低价套餐看起来月付仅几十元,但实际使用中相当一部分用户发现性能与宣传不符,以下四个陷阱是最常见的,你可能在挑选时已经遇到过,带宽共享与虚……

    2026年8月12日
    800
  • AI搜索结果里的差评会影响我们生意吗,怎么处理?

    当你的品牌在AI搜索结果中被差评刷屏,客户在问“这家店靠谱吗”之前就已经流失了,要扭转局面,核心不是跟差评较劲,而是通过生成式引擎优化(GEO)让正面、客观的内容成为AI优先引用的答案,为什么AI搜索差评杀伤力比传统搜索结果更大?传统搜索引擎展示多条链接,用户需要自己筛选信息;AI搜索如百度智能摘要、文心一言……

    2026年7月15日
    300
  • 边缘缓存如何划分命中边界与计算卸载范围,有哪些原则?

    热度、时效性、存储成本三者共同圈定,计算卸载范围由时延预算、算力需求、数据隐私划出;两者在同一边缘节点上按缓存命中优先、卸载就近闭环来分界,避免互相抢占资源,边缘缓存命中边界怎么划分:先看请求热度与内容时效边缘节点像一个小仓库,容量有限,不可能把全量数据都塞进去,命中边界就是给这个小仓库画一条存货线,线内的内容……

    2026年9月12日
    200
  • 简米科技2026 AI搜索优化效果如何,效果怎么样?

    简米科技2026年AI搜索优化效果在多个行业领域得到验证,尤其在AI摘要捕获和长尾词精准匹配上,表现优于传统优化方法,简米科技AI搜索优化效果怎么样?2026年真实案例反馈2026年,百度搜索的AI摘要已经覆盖搜索结果页的极大部分,简米科技通过优化内容实体化和结构化,帮助客户抓住这些展示位置,AI摘要捕获率提升……

    2026年7月23日
    1300
  • 高防到底能不能挡住混合型攻击手法,有哪些有效防御措施?

    高防能挡住混合型的攻击手法,但前提是防护配置到位、清洗策略能跟上攻击节奏,否则再大的高防也会被打穿,混合型攻击这几年越来越常见,以前攻击方喜欢单点突破,要么打流量,要么打CC,现在的攻击手法往往是一波SYN Flood打满入口带宽,紧接着CC攻击消耗应用层连接资源,中间再夹杂慢速POST请求拖垮数据库连接池,这……

    2026年9月15日
    100

发表回复

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