0

0

Linux SSH授权密钥与权限设置

冰川箭仙

冰川箭仙

发布时间:2025-10-21 23:52:02

|

266人浏览过

|

来源于php中文网

原创

SSH密钥认证需正确配置权限与SELinux上下文。1. 生成Ed25519密钥并部署公钥至服务器authorized_keys文件;2. 设置~/.ssh目录权限为700,authorized_keys文件权限为600;3. 主目录不可有组或其他写权限;4. SELinux启用时需确保.ssh目录及文件上下文为ssh_home_t,可用restorecon -R ~/.ssh修复;5. 确认sshd_config中PubkeyAuthentication yes且AuthorizedKeysFile .ssh/authorized_keys;6. 修改后重启sshd服务。权限错误或SELinux上下文不当是密钥失效主因。

linux ssh授权密钥与权限设置

在Linux系统中,使用SSH密钥认证可以提升远程登录的安全性。相比密码登录,密钥对验证更难被暴力破解。但若配置不当,不仅无法增强安全,还可能引发连接失败。以下是关于SSH授权密钥的配置与关键权限设置的实用说明。

SSH密钥生成与部署

用户通常在本地生成密钥对,将公钥上传至服务器。使用ssh-keygen命令可创建RSA或Ed25519类型的密钥:

  • ssh-keygen -t ed25519 -C "your_email@example.com"
  • 私钥保存在本地(如~/.ssh/id_ed25519),公钥内容需追加到服务器上的~/.ssh/authorized_keys
  • 可通过ssh-copy-id user@server_ip自动完成公钥部署

authorized_keys 文件权限要求

SSH服务对文件和目录的权限非常敏感。权限过宽会导致密钥认证被忽略,强制回退到密码登录甚至拒绝访问。

  • 用户主目录(如/home/username)不应有组或其他用户的写权限,推荐权限为755
  • ~/.ssh目录权限应设为700(仅所有者可读写执行)
  • ~/.ssh/authorized_keys文件权限应为600(仅所有者可读写)

设置命令示例:

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

SELinux与文件上下文(如启用)

在CentOS、RHEL等系统中,SELinux可能影响SSH密钥读取。即使权限正确,错误的文件上下文也会导致认证失败。

与光AI
与光AI

一站式AI视频工作流创作平台

下载
  • 确认~/.ssh/authorized_keys具有正确的SELinux上下文:ssh_home_t
  • 可用restorecon -R ~/.ssh恢复默认上下文
  • 若问题持续,临时设置setenforce 0测试是否为SELinux引起

sshd_config 配置检查

确保SSH服务允许公钥认证。相关配置位于/etc/ssh/sshd_config

  • PubkeyAuthentication yes — 启用密钥认证
  • AuthorizedKeysFile .ssh/authorized_keys — 指定公钥文件路径
  • 修改后运行systemctl restart sshd重启服务

注意:不要随意开启StrictModes no,它会跳过权限检查,带来安全隐患。

基本上就这些。密钥能用但突然失效,多数是权限被改动;新配置不生效,优先查authorized_keys位置和权限。保持目录和文件权限严谨,是SSH密钥顺利工作的基础。

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1349

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

702

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

294

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

776

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

572

2023.07.06

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

545

2023.07.20

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

297

2023.07.20

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

380

2023.07.25

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

43

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
ThinkPHP配置开发与CMS后台实战
ThinkPHP配置开发与CMS后台实战

共87课时 | 8.5万人学习

第二十三期_综合实战
第二十三期_综合实战

共89课时 | 6.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号