今天做了一台Debian10的服务器,使用普通用户可以正常登录SSH,可是root用户就不能正常登录。在修改的过程中陷入多个死循环无法解决。
第一步,普通用户登录,修改文件允许root用户登录
sudo vi /etc/ssh/sshd_config
#找到下面两项,按照下面格式修改
PasswordAuthentication yes
PermitRootLogin yes
#重启
/etc/init.d/ssh start
#或者
service ssh start
然后就提示:*** is not in the sudoers file. This incident will be reported.竟然没有sudo权限。
第二步:为用户添加sudo权限
vi /etc/sudoers
root ALL=(ALL) ALL,
#在他下面添加
xxx ALL=(ALL) ALL
(这里的xxx是你的用户名)
结果还是没有文件的读写权限,没办法直接在服务器上用普通用户登录,然后su root,完成了上述操作。回头重新检查了一下文件,都修改成功了。(网上查询了一下保存的时候用:wq!可以保存,没有测试)。
第三步:登录SSH,这不竟然报错了“Authentication failure”,验证失败。继续回到服务器上操作,终端里检查了一遍,su root正常,可为什么远程的电脑就不能SSH登录呢?首先远程电脑可以和服务器正常连接,因为普通用户可以登录,那么验证失败可能的原因是不是密码呢?突然想到装系统的时候我想把主机命名为host@home,但是这个@没有打出来,而是其他的符号,root密码包含了好几个特殊符号,服务器登录正常,远程不能正常登录,是不是因为连个系统默认语言不一样(服务器英语,没有装中文语言包,远程的win10纯中文环境),试着更改了一下root的密码,去掉密码中的所有字符,登录,ok。