我正在尝试虚拟化一台旧的 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/0
,pts/1
等等pts/2
。
您是否可以尝试添加这些内容/etc/securetty
,看看是否会改善情况?最好将它们添加到(比如说)pts/9,具体取决于通常有多少其他用户登录。