2 个 CentOS 盒子 - 一个无法使用公钥认证通过 SSH 连接到另一个?

2 个 CentOS 盒子 - 一个无法使用公钥认证通过 SSH 连接到另一个?

我有 2 个 CentOS 机箱,其 sshd 配置和整体设置完全相同。

盒子 A 可以顺利通过 SSH 连接到盒子 B,但盒子 B 无法使用公钥身份验证通过 SSH 连接到盒子 A(使用密码身份验证则没问题)。我已经反复检查了密钥、设置等 100 次,但就是不行。

当盒子 B 向盒子 A 提供 RSA 公钥时,盒子 A 似乎完全忽略了它。正常情况下,它应该返回一个“类型 60”的数据包,但它却再次返回一个类型 51 的数据包,并重新宣布可以继续进行身份验证。

这是调试信息。有人知道这是什么原因造成的吗?

debug1: Offering RSA public key: /home/patrick/.ssh/id_rsa
debug3: send_pubkey_test
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
...

这是我的 /etc/ssh/sshd_config 的相关部分:

Subsystem   sftp    /usr/libexec/openssh/sftp-server
GatewayPorts no
AllowTcpForwarding yes
KeepAlive yes
Protocol 1,2
Port 8855
IgnoreRhosts yes
IgnoreUserKnownHosts no
PrintMotd yes
StrictModes yes
PubkeyAuthentication yes
PermitEmptyPasswords no
RSAAuthentication yes

这两个盒子上都使用了 OpenSSH_7.4p1、OpenSSL 1.0.2k-fips。

答案1

太疯狂了,这是 selinux 的问题。刚刚才发现。我必须这样做:

restorecon -R -v /home/patrick/.ssh

只是为了后人而放在这里...

相关内容