SSH公钥放在服务器哪个目录?,服务器SSH公钥存放路径设置

SSH公钥在服务器上的标准存放目录是用户家目录下的~/.ssh/authorized_keys文件,这是OpenSSH服务默认读取的认证文件路径。无论你是管理自己的云服务器还是配置公司内网机器,只要把公钥内容追加到这个文件并设置好权限,就能实现免密登录,这篇文章会把这个目录的来龙去脉、权限坑位和实操命令一次说清楚。

ssh公钥服务器哪个目录?标准路径与文件作用

很多刚接触Linux的朋友在配置免密登录时,最常问的就是“公钥到底该放哪”,答案其实很明确:对于OpenSSH服务,公钥放在目标服务器上你想要登录的那个用户的~/.ssh/authorized_keys文件里,这里的代表该用户的家目录,比如root用户就是/root/.ssh/authorized_keys,普通用户ubuntu就是/home/ubuntu/.ssh/authorized_keys

绝对路径与相对路径的区别

  • 相对路径~/.ssh/authorized_keys,适合在切换用户后使用。
  • 绝对路径/home/用户名/.ssh/authorized_keys,适合在写脚本或配置工具时明确指定。

在绝大多数Linux发行版(CentOS、Ubuntu、Debian)中,这个路径是硬编码在/etc/ssh/sshd_config里的,对应参数为AuthorizedKeysFile .ssh/authorized_keys,如果你没有手动改过这个配置,那么默认就是上述目录。

不同用户下的公钥存放位置

  • root用户:/root/.ssh/authorized_keys
  • 普通用户zhangsan/home/zhangsan/.ssh/authorized_keys
  • 使用sudo切换用户后,路径会随之变化,这一点在写自动化脚本时尤其容易踩坑。

行业共识认为,每个用户独立管理自己的公钥文件

SSH公钥放在服务器哪个目录?,服务器SSH公钥存放路径设置

是最安全的做法,不要把所有人的公钥都塞到rootauthorized_keys里,否则一旦某个人的私钥泄露,整个服务器的最高权限就拱手让人了。

酷番云服务器ssh公钥配置路径与本地密钥生成

如果你刚在酷番云、简米云或华为云买了一台新服务器,第一件事应该是生成密钥对而不是设密码登录,本地生成公钥的命令是:

ssh-keygen -t rsa -b 4096 -C "你的邮箱或备注"

执行后,公钥会生成在本地~/.ssh/id_rsa.pub,私钥是~/.ssh/id_rsa私钥永远不要传给任何服务器,它只留在本地电脑或密码管理器里,服务器上需要的是公钥内容。

使用ssh-copy-id一键上传公钥

最简单的做法是使用ssh-copy-id工具,它会自动把本地公钥追加到服务器的正确目录:

ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@服务器IP

这个命令会要求你输入一次服务器密码,之后就把公钥内容追加到了~/.ssh/authorized_keys末尾,并自动设置好目录和文件权限,如果你的系统没装这个命令,用apt install openssh-clientyum install openssh-clients即可。

手动创建authorized_keys的完整步骤

有些特殊场景(比如服务器只开密钥登录,你只能用VNC控制台)下需要手动操作,步骤如下:

  1. 登录服务器,切换到目标用户:su - 用户名
  2. 创建.ssh目录:mkdir -p ~/.ssh
  3. 设置目录权限为700:chmod 700 ~/.ssh
  4. 创建authorized_keys文件:touch ~/.ssh/authorized_keys
  5. 设置文件权限为600:chmod 600 ~/.ssh/authorized_keys

    SSH公钥放在服务器哪个目录?,服务器SSH公钥存放路径设置

  6. 将本地公钥内容粘贴进去:echo "ssh-rsa AAAAB3NzaC1yc2E..." >> ~/.ssh/authorized_keys

注意这里用的是>>追加而非>覆盖,否则会清掉之前已有的公钥,如果公钥中有空格或特殊字符,一定要用双引号包裹整段内容。

ssh公钥配置权限问题与私钥混淆场景

很多用户明明把公钥放对了目录,却登录失败,原因十有八九是权限太开放。SSH对权限非常敏感,目录或文件如果允许其他用户写入,服务端会直接忽略这个公钥

权限设置不当导致的登录失败

  • 家目录权限不能是777,建议755700
  • .ssh目录权限必须是700
  • authorized_keys文件权限必须是600644,但不能是666

检查权限的命令:

ls -ld ~ ~/.ssh ~/.ssh/authorized_keys

如果发现权限不对,立即修复:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

ssh公钥和私钥有什么区别?别搞反了

  • 公钥.pub:可以公开,放在服务器上,相当于锁。
  • 私钥(无后缀):必须保密,留在本地,相当于钥匙。

业内专家指出,把私钥当作公钥上传是新手最常见的错误,如果你在authorized_keys里看到的是-----BEGIN RSA PRIVATE KEY-----开头的私钥内容,SSH服务会直接报错Permission denied (publickey)

多密钥管理与authorized_keys文件格式

当你有多个设备(公司电脑、个人笔记本、手机)需要登录同一台服务器时,可以把每个设备的公钥都追加到

SSH公钥放在服务器哪个目录?,服务器SSH公钥存放路径设置

authorized_keys文件里,每行一个公钥,不要合并成一行。

多密钥文件如何切换

本地多个密钥对时,通过ssh -i ~/.ssh/某把私钥 用户名@服务器IP指定私钥,或者编辑~/.ssh/config配置文件,为不同服务器指定不同密钥:

Host myserver
    HostName 192.168.1.100
    User root
    IdentityFile ~/.ssh/company_rsa

格式与注释规范

每行公钥的格式为:ssh-rsa AAAA... 注释,注释部分一般写设备名或邮箱,方便日后识别,如果你要移除某台设备的访问权,直接删除对应行即可。

Q&A:ssh公钥服务器哪个目录?常见疑问解答

问:我把公钥放到了/etc/ssh/authorized_keys,为什么登录失败?

答:/etc/ssh/目录是SSH服务配置和主机密钥的存放位置,不是用户公钥目录,除非你在sshd_config里把AuthorizedKeysFile改成绝对路径,否则系统不会读取这个位置,正确路径是用户家目录下的~/.ssh/authorized_keys

问:Windows服务器也能用这个目录吗?

答:Windows OpenSSH服务的公钥存放路径略有不同,通常在C:Users用户名.sshauthorized_keys,如果是Linux服务器上的WSL环境,则遵循Linux路径规则,但大多数生产服务器是Linux系统,所以~/.ssh/authorized_keys是通用答案。

问:服务器上有多个人需要登录,能否共用一个authorized_keys文件?

答:可以,但强烈不建议,正确的做法是每个用户单独维护自己的~/.ssh/authorized_keys文件,登录时通过ssh 用户名@IP指定身份,共用一个文件会导致权限边界模糊,且无法单独审计谁用了哪把密钥。

图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/753226.html

(0)
上一篇 2026年8月30日 22:46
下一篇 2026年8月30日 22:51

相关推荐

  • 七彩服务器在哪个国家,官方总部地址在哪

    七彩服务器在哪个国家?先说结论七彩服务器主要部署在中国大陆境内,核心节点位于国内主流云服务商的数据中心,并非海外服务器, 但这个问题之所以被频繁问起,是因为“七彩服务器”这个名字同时指向了两类完全不同的东西:一类是Minecraft(我的世界)玩家熟知的“七彩”系列游戏服务器,另一类则是“七彩云”品牌旗下的云服……

    2026年8月27日
    0192
  • 购物网站开发方案怎么做,购物网站开发流程及费用

    构建一个高性能、高转化率的现代购物网站,核心在于构建“稳固的技术架构底座”与“极致的用户体验闭环”的深度融合,成功的购物平台不再是简单的商品陈列,而是基于云计算弹性能力、数据驱动运营以及全链路安全防护的综合生态系统, 开发方案必须优先解决高并发承载、数据安全合规以及搜索引擎可见性三大核心痛点,以确保平台在流量爆……

    2026年4月9日
    01973
  • 福州定制网站开发多少钱,福州定制网站开发

    福州定制网站开发的核心价值在于通过深度业务逻辑重构与本地化SEO策略,实现从“展示型”向“获客型”数字资产的转化,2026年其市场均价区间为3万至15万元,具体取决于功能复杂度与交互深度,在数字化转型进入深水区的2026年,通用模板已无法满足福州企业对于品牌差异化与精准获客的需求,定制开发不再是简单的代码堆砌……

    2026年5月28日
    01632
    • 服务器间歇性无响应是什么原因?如何排查解决?

      根源分析、排查逻辑与解决方案服务器间歇性无响应是IT运维中常见的复杂问题,指服务器在特定场景下(如高并发时段、特定操作触发时)出现短暂无响应、延迟或服务中断,而非持续性的宕机,这类问题对业务连续性、用户体验和系统稳定性构成直接威胁,需结合多维度因素深入排查与解决,常见原因分析:从硬件到软件的多维溯源服务器间歇性……

      2026年1月10日
      020
  • 原生开发 app 的优点是什么?原生开发 app 优势有哪些

    在2026年的移动生态中,原生开发App凭借对硬件底层的极致调用能力、毫秒级响应速度及全平台安全合规性,依然是构建高价值商业应用与复杂交互场景的首选方案,尽管其开发成本高于跨平台方案,但在用户体验与长期维护上具有不可替代的统治力,性能与体验:硬件级调用的绝对优势1 极致流畅度与帧率控制原生开发(Native D……

    2026年5月5日
    01931

发表回复

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