无法使用 ssh 以 root 身份登录

无法使用 ssh 以 root 身份登录

我正在尝试虚拟化一台旧的 Linux 服务器,PtoV 软件要求通过 ssh 以 root 身份输入密码登录。但是,root 登录被“没有权限“客户端出现错误,并且出现“根密码失败“在服务器端(当 sshd 以调试模式运行时)。

我已经PermitRootLogin yes入驻/etc/ssh/sshd_config

这是一台旧的 RedHat 7.3 服务器,很多年前它就运行过 Bastille 之类的强化脚本,并且还保留着许多旧操作系统的残余(如 ipchains - 内核不再支持)。总之,我不知道原始系统到底发生了哪些变化,但变化确实很大。

  • 我可以从控制台以 root 身份登录
  • 我可以从控制台或 ssh 会话中以 root 身份正常登录
  • 作为普通用户,我可以正常 ssh。

我的问题是:还有什么可以阻止我root登录在这个服务器上?

更多信息:/etc/pam.d/sshd

 auth       required     pam_stack.so service=system-auth
 auth       required     pam_nologin.so
 account    required     pam_stack.so service=system-auth
 password   required     pam_stack.so service=system-auth
 session    required     pam_stack.so service=system-auth
 session    required     pam_limits.so
 session    optional     pam_console.so

/etc/pam.d/系统身份验证

auth        required      /lib/security/pam_env.so
auth        sufficient    /lib/security/pam_unix.so likeauth nullok
auth        required      /lib/security/pam_deny.so
account     required      /lib/security/pam_unix.so
password    required      /lib/security/pam_cracklib.so retry=3 type=
password    sufficient    /lib/security/pam_unix.so nullok use_authtok md5 shadow
password    required      /lib/security/pam_deny.so
session     required      /lib/security/pam_limits.so
session     required      /lib/security/pam_unix.so

有人能告诉我散列算法是否是罪魁祸首吗?请记住,我可以以非特权用户身份登录。

答案1

事实证明 /etc/init.d/sshd 脚本没有 $OPTIONS 变量,该变量是配置文件的引用。因此 sshd 启动时根本没有任何配置文件,因此默认为“PermitRoodLogin no”。

我通过在 /etc/init.d/sshd 的开头附近添加以下行来解决此问题:

OPTIONS="-f /etc/ssh/sshd_config"

希望这对其他人有帮助。

答案2

可以在 PAM 配置中禁用通过 ssh 以 root 身份登录。

答案3

我也遇到了同样的问题,我可以向任何用户验证身份,但当我尝试以 root 身份登录时,却收到“拒绝访问”消息。通过UsePAM yes在 中 禁用 解决了该问题/etc/ssh/sshd_config

改成UsePAM yes#UsePAM yes

答案4

继 embobo 之后,我很高兴 (!) 拥有一大堆 RH73 机器,但我无法升级。它们告诉我远程登录处于开启状态pts/0pts/1等等pts/2

您是否可以尝试添加这些内容/etc/securetty,看看是否会改善情况?最好将它们添加到(比如说)pts/9,具体取决于通常有多少其他用户登录。

相关内容