Linux系统中如何配置SSH目录权限

发布时间:2022-09-28 09:08 来源:主机侦探 阅读:115 作者:主机侦探 栏目: 经验分享 欢迎投稿:712375056

要使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://www.idcspy.com/58108.html

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

免责声明:本站发布的内容(图片、视频和文字)以原创、来自本网站内容采集于网络互联网转载等其它媒体和分享为主,内容观点不代表本网站立场,如侵犯了原作者的版权,请告知一经查实,将立刻删除涉嫌侵权内容,联系我们QQ:712375056,同时欢迎投稿传递力量。