当前位置: 首页 > ds >正文

SSH 私钥文件权限控制指南


1. 为什么必须严格控制私钥文件权限?
  • 安全机制:SSH 协议强制要求私钥文件必须仅对所有者可读,防止未授权访问。

  • 风险:若权限过松(如其他用户可读),SSH 客户端会拒绝连接,避免私钥泄露或被篡改。

  • 典型错误提示:

  •  Permissions 0644 for 'id_rsa' are too open.It is required that your private key files are NOT accessible by others.

2. 正确权限设置
私钥文件(如 id_rsa
  • 最小安全权限:

 chmod 400 ~/.ssh/id_rsa   # 仅所有者可读(r--------)

允许的权限

  •  chmod 600 ~/.ssh/id_rsa   # 所有者可读写(rw-------)
    • 400(推荐):防止误修改私钥。

    • 600(允许):允许修改,但需谨慎操作。

禁止的权限
  • 500r-x):私钥无需执行权限。

  • 644rw-r--r--):其他用户可读。

  • 777(完全开放):极度危险。


3. 其他相关文件权限
公钥文件(如 id_rsa.pub
  • 权限要求宽松,通常设为 644:

  •  chmod 644 ~/.ssh/id_rsa.pub
~/.ssh 目录
  • 必须限制为 700,禁止其他用户访问:

  •  chmod 700 ~/.ssh
authorized_keys 文件
  • 仅允许所有者读写(600):

  •  chmod 600 ~/.ssh/authorized_keys

4. 操作示例
设置私钥权限
 # 1. 检查当前权限ls -l ~/.ssh/id_rsa​# 2. 设置权限为 400chmod 400 ~/.ssh/id_rsa​# 3. 验证结果ls -l ~/.ssh/id_rsa# 正确输出:-r-------- 1 user user 2602 Jan 1 00:00 id_rsa
修复权限错误

若因权限问题导致 SSH 连接失败:

  1. 按上述步骤修正权限。

  2. 重新尝试连接:

  1.  ssh -i ~/.ssh/id_rsa user@remote_host

5. 安全最佳实践
  • 最小权限原则:仅授予必要权限(如私钥设为 400)。

  • 定期检查:使用以下命令审计权限:

  •  find ~/.ssh -type f -name "id_*" -exec ls -l {} \;
  • 备份与隔离:

    • 私钥不共享、不上传网络。

    • 使用加密存储(如密码保护的密钥库)。


总结
文件/目录推荐权限权限含义
id_rsa(私钥)400仅所有者可读
id_rsa.pub(公钥)644所有者可读写,其他用户可读
~/.ssh 目录700仅所有者可读、写、执行
authorized_keys600仅所有者可读写
http://www.xdnf.cn/news/1363.html

相关文章:

  • CLIMB自举框架:基于语义聚类的迭代数据混合优化及其在LLM预训练中的应用
  • Kotlin高阶函数 vs Lambda表达式:关键区别与协作关系
  • 用高斯溅射技术跨越机器人模拟与现实的鸿沟:SplatSim 框架解析
  • 通过 API 对接应用网络商城实现订单自动化
  • Prompt 结构化提示工程
  • flutter和vue3项目利用webview_flutter插件通信
  • C语言中的递归1.0
  • 在C#串口通信中,一发一收的场景,如何处理不同功能码的帧数据比较合理,代码结构好
  • Transformer:引领深度学习新时代的架构
  • 深入探究Python中`__init__.py`文件的奥秘
  • SOA半导体光放大器在光纤光栅解调系统中的应用分析
  • python三维矩阵的维度
  • 将输入帧上下文打包到下一个帧的预测模型中用于视频生成
  • 什么是区块?
  • 【Java】Hibernate的检索方式的概述
  • pytest心得体会
  • Linux避免文件误删详解(Linux Avoids File Deletion Errors with Detailed Explanation)
  • 深入剖析TCP协议(内容一):从OSI与TCP/IP网络模型到三次握手、四次挥手、状态管理、性能优化及Linux内核源码实现的全面技术指南
  • Python----深度学习(神经网络的过拟合解决方案)
  • 单调栈-每日温度
  • 1、AI及LLM基础:OpenAI 开发
  • 手写深拷贝函数
  • 基于RabbitMQ实现订单超时自动处理
  • 服务器编译环境配置及数据接收脚本编写(11)
  • 蓝桥杯 19. 最大比例
  • 【3】CICD持续集成-k8s集群中安装Jenkins-agent(主从架构)
  • 【数据可视化-24】巧克力销售数据的多维度可视化分析
  • 解读大型语言模型:从Transformer架构到模型量化技术
  • 3小时速通Python-Python学习总部署、总预览(一)
  • transformer 解码器和输出部分结构