我在远程 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 客户端配置(在该服务器上),请参阅文档。