Fi SSH 权限如何被拒绝

如何修复 ssh 权限被拒绝

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

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

如果你的客户端和服务端都安装了SSH,但是访问服务端还是有问题,多数情况下是配置问题。 SSH 只需制定很少的规则即可正常工作。 本指南介绍了如何通过多种方式轻松修复 SSH 错误。

什么是 SSH?

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

是什么导致ssh permission denied错误?

常见原因包括:

  • 中包含的 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 权限被拒绝的错误。

结论

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