在此服务器上更新到 OpenSSH 7.6 后无法连接到 Centos 6.9

在此服务器上更新到 OpenSSH 7.6 后无法连接到 Centos 6.9

我知道在 Centos 6.9 上将 OpenSSH 更新到 v.7.6 并不是一个好主意,但它已经完成了。所以现在我无法通过ssh连接到服务器。

尝试使用密钥登录:

debug3: send_pubkey_test
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 60
debug1: Server accepts key: pkalg rsa-sha2-512 blen 279
debug2: input_userauth_pk_ok: fp SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxx
debug3: sign_and_send_pubkey: RSA SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxx
debug3: send packet: type 50
Authentication failed.

尝试使用 root 密码登录:

debug2: we sent a password packet, wait for reply
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
Permission denied, please try again.

还有什么可以解决这个问题或降级 openssh 吗?

ps 我从 MacOs 使用 OpenSSH_7.5p1 连接,从 CentOs 7 使用 OpenSSH_7.4p1 连接,所以我的问题不在于遗留问题。

谢谢!

答案1

因此,首先,OpenSSH 更新会覆盖 sshd_config 文件,导致无法通过 root 登录系统(因此,如果您从源更新 OpenSSH - 不要忘记在注销之前检查 sshd_config)。但我能够使用 Parallels VM Console 连接并更改 sshd_config,但仍然遇到相同的连接问题。

我遇到的第二个问题是 sshd 的 PAM 配置 (/etc/pam.d/sshd) 未更新并请求旧文件

openssh PAM unable to dlopen(/lib64/security/pam_stack.so): /lib64/security/pam_stack.so: cannot open shared object file: No such file or directory

我首先尝试使用在互联网上找到的解决方案来解决这种情况,但最后,我使用 Centos7 的另一台服务器更改 sshd 使用相同的配置:

#%PAM-1.0
auth       required pam_sepermit.so
auth       substack     password-auth
auth       include      postlogin
# Used with polkit to reauthorize users in remote sessions
-auth      optional     pam_reauthorize.so prepare
account    required     pam_nologin.so
account    include      password-auth
password   include      password-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required     pam_selinux.so open env_params
session    required     pam_namespace.so
session    optional     pam_keyinit.so force revoke
session    include      password-auth
session    include      postlogin
# Used with polkit to reauthorize users in remote sessions
-session   optional     pam_reauthorize.so prepare

更改后,我就可以登录系统了。

相关内容