要使SSH能够正常工作。它需要对~/.ssh或/home/username/.ssh目录具有正确的权限。即所有用户特定的SSH配置和身份验证文件的默认位置。推荐的权限是用户的读/写/执行。并且不能被组和其他用户访问。
此外。SSH还要求目录中的文件必须对用户具有读/写权限。并且不能被其他用户访问。否则的话。用户可能会遇到以下错误:
Authentication refused: bad ownership or modes for directory
那么Linux系统中如何配置SSH目录权限?接下来介绍如何在Linux系统中对.ssh目录和存储在其中的文件设置正确的权限。以便其正常的运行工作。
其实。如果遇到上述错误。可以使用chmod命令在.ssh目录上设置正确的ssh目录权限。
# chmod u+rwx,go-rwx ~/.ssh 或者 # chmod 0700 ~/.ssh
要检查~/.ssh目录的权限。请使用带有-l和-d标志的ls命令。具体如下:
# ls -ld .ssh/
以下是你将在~/.ssh目录中找到的一些文件:
private key file (相当于id_rsa ) – 用于认证的私钥。包含高度敏感的信息。因此必须对所有者有读写权限。不能被组和其他人访问。否则ssh会拒绝连接。
public key(如.pub 文件)——用于身份验证的公钥。其中还包含敏感信息。因此它应该具有所有者的读写权限。组的只读权限等。
authorized_keys – 包含可用于以该用户身份登录的公钥列表。它不是高度敏感的。但应该具有所有者的读写权限。并且不能被组和其他人访问。
known_hosts – 存储ssh用户已登录的所有主机的主机密钥列表。它应该具有所有者的读写权限。并且不能被组和其他人访问。
config – 每个用户的配置文件。应该具有所有者的读写权限。并且不应被组和其他人访问。
默认情况下。~/.ssh目录下的文件是使用正确的权限集创建的。要检查他们的权限。请在主目录中运行以下命令:
# ls -l .ssh/
如果ssh对上述任何文件的报出权限错误。这时候可以为任何文件设置正确的权限。如下所示:
此外。用户的主目录不应被组或其他用户写入。如下面的屏幕截图所示:
# ls -ld ~
要删除主目录上组和其他人的写权限。请运行以下命令:
# chmod go-w ~ 或者 # chmod 755 ~
总装。SSH为了使用安全。其对属主的目录和文件权限有所要求。如果权限不对。则SSH的免密码登陆不会生效。用户目录权限应该755或700。就是不能是77x。777。还需要保证other用户不能有w权限。
本文地址:https://gpu.xuandashi.com/30541.html,转载请说明来源于:渲大师
声明:本站部分内容来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。分享目的仅供大家学习与参考,不代表本站立场!