在远程 VPS 上没有 ssh 连接的情况下编辑 ssh_config

在远程 VPS 上没有 ssh 连接的情况下编辑 ssh_config

昨天,我正忙着设置远程服务器并保护它。我是代码、编程和网络托管方面的菜鸟,但我正在尝试托管自己的网站。

所以昨天我更改了文件中的一些设置sshd_config。我更改的其中一行是PermitRootLogin。我no现在已经设置好了。

现在我想再次登录我的服务器,进行更多更改,但我习惯的登录方法:

ssh root@server_IP

给我输出:

Permission denied

我无法再像以前那样登录远程服务器。据我所知,我只能使用我的 SFTP 帐户连接到我的服务器,但这不允许我真正更新服务器并安装新软件等。

那么我如何以root用户身份再次连接到我的服务器?我不知道如何打开该/etc/ssh/sshd_config文件,因为我没有作为root用户连接到我的服务器。

答案1

这个问题的答案取决于您服务器的确切配置,但是如果

  • 您可以以该服务器上的另一个用户身份登录(例如,您提到了 SFTP 用户:检查该用户是否也被允许使用“常规”SSH 会话登录,并且不限于 SFTP 连接),
  • 您的服务器配置允许root通过基于密码的身份验证(即您不限于使用 SSH 密钥)

那么你应该能够成为rootvia su

所以,步骤是:

  • 使用您的“普通”用户帐户登录
    local_user@local_computer:~$ ssh normal_user@server_IP
    normal_user@server_IP's password:
    
  • 变得root
    normal_user@server_IP:~$ su -
    Password:
    root@server_IP:~#
    
  • sshd_config以 root 身份编辑

如果root用户无法进行基于密码的身份验证,您将需要拥有一个具有sudo权限的“普通”用户帐户。在这种情况下:

  • 使用您的“普通”用户帐户登录。
  • 编辑sshd_config过孔sudo
    normal_user@server_IP:~$ sudo vi /etc/ssh/sshd_config
    

如果上述情况均不适用,您可能需要联系您的网络提供商寻求帮助。

相关内容