如何 Fi SSH 权限被拒绝

如何修复 ssh 权限被拒绝

使用 SSH 既省时又安全,但是当您收到 ssh 权限被拒绝错误并且无法找出导致错误的原因时,您会感到沮丧。

使用 ssh,您可以轻松登录远程服务器并执行所有活动,包括安装软件和处理文件。

如果您已在客户端和服务器上安装了 SSH,但仍然无法访问服务器,则大多数情况下问题是由配置引起的。 为了 SSH 的顺利运行,需要检查一些规则。 本指南介绍了如何通过多种方式轻松修复 SSH 错误。

什么是 SSH?

Secure Shell (SSH) 是一种协议,它允许客户端计算机使用基于文本的界面远程安全地连接到 Linux 服务器。 成功连接后,将打开一个 shell 会话,您可以在其中使用您的服务器。

什么导致 ssh 权限被拒绝错误?

常见的原因包括:

  • 中包含的 SSH 公钥不正确 授权密钥 文件
  • 文件权限不正确
  • SSH 服务器配置文件中的错误配置

修复错误很简单,我们将考虑您可以使用的各种方法。

如何解决 SSH 权限被拒绝错误

如果您遇到如下错误,我们有一个解决方案。

解决方案 1:启用密码验证

您首先需要检查 密码认证 并确保它已启用。

你需要打开 sshd_config 使用编辑器在您的服务器上创建文件。 在我们的例子中,我们使用 nano 编辑器,命令是:

$ sudo nano /etc/ssh/sshd_config

打开后,找到 密码认证 行并确保它设置为以 是的。

此外,在 PasswordAuthentication 下方,确保 挑战响应身份验证 被禁用并以 不。

进行更改后,保存文件并退出。 您必须使用以下命令重新启动 ssh 服务。

$ sudo systemctl restart sshd.service

接下来,继续尝试再次连接。

如果该解决方案对您不起作用,请尝试以下其他解决方案。

解决方案 2. 检查其他配置

您的 sshd_configuration 文件确定 ssh 连接是否通过。 因此,需要检查所有内容以修复 ssh 权限被拒绝错误。 对于此解决方案,您必须找到各种行并确保它们与下面列出的行匹配。

首先,像之前一样打开配置文件。

$ sudo nano /etc/ssh/sshd_config

打开后,找到并编辑下面的行以确保它们匹配。 它们中的大多数都已注释,但您可以通过删除它们前面的 # 来取消注释它们。 从那里,您可以编辑和对齐它们以匹配以下内容。

PermitRootLogin no

PubkeyAuthentication yes

UsePAM yes

最后,保存并退出文件。 然后,重新启动 sshd

$ sudo systemctl restart sshd.service

您的 ssh 连接现在应该成功登录到服务器。

解决方案 3. 更改文件权限

您的主目录的所有者权限应设置为读取、写入和执行。 您可以使用以下命令进行验证。

$ ls -ld

如果未设置为 drwx——, 使用 修改 命令。

$ chmod 0700 /home/your-username

此外,所有者权限 授权密钥 在里面 .ssh 目录应设置为可读写。

使用以下命令进行验证。

$ ls -ld authorized_keys

如果设置不正确,请使用以下命令。

$ chmod 0600 /home/your-username/ .ssh/authorized_keys

重新启动 sshd 后,您的 ssh 将开始正常连接并修复 ssh 权限被拒绝错误。

结论

使用远程 Linux 服务器时必须使用 SSH。 还有其他选择,但该协议为您提供安全的远程登录。 在使用 SSH 时,您可能会遇到权限被拒绝错误,这主要是由于配置错误造成的。 我们已经看到了您可以用来解决此问题的各种选项,其中任何一个或至少一个都适用于您的情况。