远程服务器上的 ssh 配置错误。无法登录

远程服务器上的 ssh 配置错误。无法登录

我在远程 Debian 机器上意外地将 ssh_config 改为 sshd_config。每当我尝试登录时,我都会得到

    /etc/ssh/ssh_config: line 55: Bad configuration option: permitrootlogin
    /etc/ssh/ssh_config: terminating, 1 bad configuration options

我如何远程解决此问题?

答案1

要解决此问题,请注释掉第 55 行/etc/ssh/ssh_config

#PermitRootLogin yes

PermitRootLogin实际上是在文件中有效的选项/etc/ssh/sshd_config,而不是ssh_config文件。区别在于sshd_config文件控制 SSH 服务器(“sshd”中的“d”来自“daemon”),ssh_config文件控制客户端。因此,它确实是客户端设置文件中的一个糟糕的(无效的)配置选项。

答案2

您不需要远程执行此操作!只需从中删除 permitrootlogin 行即可当地的/etc/ssh/ssh_config 文件,在 ssh 连接到远程服务器时使用。

答案3

好吧,如果您无法登录系统,您将不得不以救援模式启动,或者通过控制台访问它(如果可以的话)。

但是 ssh_config 是 ssh 客户端使用的配置文件,sshd_config 是 ssh 服务器使用的配置文件。如果您尝试登录服务器,该服务器应该正在读取 sshd_config。您是否更改了本地计算机的 ssh_config 文件中的某些内容?

答案4

这个确切的文件(SSH客户服务器端通常不需要配置,除非您链接 SSH 连接(使用服务器端客户端连接到另一台服务器),否则不会出现问题。假设存在sshd_config并且ssh_config是它的(部分)副本,那么您可以安全地将后者移到一边,例如通过:

$ sudo mv /etc/ssh/ssh_config /etc/ssh/ssh_config.bak

但是,如果你需要设置 SSH 客户端配置(在该服务器上),请参阅文档

相关内容