如何设置SSH密钥的访问权限?
美国、香港服务器
如何设置SSH密钥的访问权限?
05-19 来源:
CentOS9 设置 SSH 密钥正确权限(必须严格按这个来,错一个就登录失败)
SSH 对权限非常敏感,权限太松会直接拒绝密钥登录,这是最容易踩坑的地方。
我给你最标准、最安全、直接复制执行的权限设置命令。
一、SSH 密钥权限规则(记住这 2 条)
.ssh 目录 权限必须是:700
authorized_keys(公钥文件) 权限必须是:600
所属用户必须是当前登录用户自己(不能是 root / 其他用户)
二、给 root 用户设置密钥权限(最常用)
直接复制这 4 条命令执行:
bash
运行
# 1. 创建密钥目录(不存在才需要)
mkdir -p /root/.ssh
# 2. 设置目录权限 700(仅自己可读可写)
chmod 700 /root/.ssh
# 3. 设置公钥文件权限 600(仅自己能读)
chmod 600 /root/.ssh/authorized_keys
# 4. 设置正确所有者(关键)
chown -R root:root /root/.ssh
三、给 普通用户(如 www、ftpuser)设置密钥权限
bash
运行
# 假设用户是 testuser
mkdir -p /home/testuser/.ssh
chmod 700 /home/testuser/.ssh
chmod 600 /home/testuser/.ssh/authorized_keys
chown -R testuser:testuser /home/testuser/.ssh
四、检查权限是否正确
bash
运行
ls -ld /root/.ssh
ls -l /root/.ssh/authorized_keys
正确结果应该是:
plaintext
drwx------. 2 root root # .ssh 目录 700
-rw-------. 1 root root # authorized_keys 600
五、权限错误会导致什么问题?
权限 755 → SSH 拒绝密钥登录
权限 777 → 直接禁止登录
所属用户不对 → 认证失败
六、一键修复所有 SSH 密钥权限(万能命令)
bash
运行
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chown -R $USER:$USER ~/.ssh
总结
.ssh 目录 = 700
authorized_keys = 600
所属用户 = 自己
满足这 3 条,SSH 密钥登录 100% 正常。
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快