昨天,我正忙着设置远程服务器并保护它。我是代码、编程和网络托管方面的菜鸟,但我正在尝试托管自己的网站。
所以昨天我更改了文件中的一些设置sshd_config
。我更改的其中一行是PermitRootLogin
。我no
现在已经设置好了。
现在我想再次登录我的服务器,进行更多更改,但我习惯的登录方法:
ssh root@server_IP
给我输出:
Permission denied
我无法再像以前那样登录远程服务器。据我所知,我只能使用我的 SFTP 帐户连接到我的服务器,但这不允许我真正更新服务器并安装新软件等。
那么我如何以root
用户身份再次连接到我的服务器?我不知道如何打开该/etc/ssh/sshd_config
文件,因为我没有作为root
用户连接到我的服务器。
答案1
这个问题的答案取决于您服务器的确切配置,但是如果
- 您可以以该服务器上的另一个用户身份登录(例如,您提到了 SFTP 用户:检查该用户是否也被允许使用“常规”SSH 会话登录,并且不限于 SFTP 连接),和
- 您的服务器配置允许
root
通过基于密码的身份验证(即您不限于使用 SSH 密钥)
那么你应该能够成为root
via 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
如果上述情况均不适用,您可能需要联系您的网络提供商寻求帮助。