在我的公司,我们所有的服务器都是 Centos6/RedHat6,但现在我被要求将其更新到 Centos 7。我创建了一个 C7 虚拟机,但在无密码访问方面遇到了问题。值得一提的是,我们使用 ldap 进行用户管理,每个用户都有共享主文件夹。我在想也许主文件夹没有安装?但是用户 groupmaster 的主文件夹是永久安装的
我越来越:
debug1: Next authentication method: publickey
debug1: Trying private key: /home/myuser/.ssh/identity
debug3: no such identity: /home/myuser/.ssh/identity
debug1: Offering public key: /home/myuser/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug3: Wrote 368 bytes for a total of 1645
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Trying private key: /home/myuser/.ssh/id_dsa
debug3: no such identity: /home/myuser/.ssh/id_dsa
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password
[email protected]'s password:
我的 SSHd 配置:
[root@germanium ~]# grep -v '#' /etc/ssh/sshd_config
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
SyslogFacility AUTHPRIV
RSAAuthentication yes
PubkeyAuthentication yes
PasswordAuthentication yes
ChallengeResponseAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials no
UsePAM yes
X11Forwarding yes
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
Subsystem sftp /usr/libexec/openssh/sftp-server
AllowUsers root myuser groupmaster
此外:我的 root 无密码访问可以正常工作。
更新:当我以调试模式启动 sshd 时,我可以无需密码连接。我使用了命令:
/usr/sbin/sshd -ddd
这和
systemctl start sshd
?
答案1
我已经编辑了 vim /etc/systemd/system/multi-user.target.wants/sshd.service,因此它以三重调试模式启动 sshd 并将日志保存到 /tmp:
ExecStart=/usr/sbin/sshd -D -ddd -E /log/sshd.log $OPTIONS
我发现 SSHD 无法读取用户的 .ssh 文件。进一步调查后,我发现这是 SELinux 造成的。不幸的是,我不知道如何修复它,所以我将 SELinux 设置为宽容模式。终于成功了!