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密钥认证可以提升远程登录的安全性。相比密码登录,密钥对验证更难被暴力破解。但若配置不当,不仅无法增强安全,还可能引发连接失败。以下是关于SSH授权密钥的配置与关键权限设置的实用说明。
用户通常在本地生成密钥对,将公钥上传至服务器。使用ssh-keygen命令可创建RSA或Ed25519类型的密钥:
SSH服务对文件和目录的权限非常敏感。权限过宽会导致密钥认证被忽略,强制回退到密码登录甚至拒绝访问。
设置命令示例:
chmod 700 ~/.ssh在CentOS、RHEL等系统中,SELinux可能影响SSH密钥读取。即使权限正确,错误的文件上下文也会导致认证失败。
确保SSH服务允许公钥认证。相关配置位于/etc/ssh/sshd_config:
注意:不要随意开启StrictModes no,它会跳过权限检查,带来安全隐患。
基本上就这些。密钥能用但突然失效,多数是权限被改动;新配置不生效,优先查authorized_keys位置和权限。保持目录和文件权限严谨,是SSH密钥顺利工作的基础。
以上就是Linux SSH授权密钥与权限设置的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号