在 CentOS 6 上遇到了一个与 SSH 相关的问题,但尚未找到解决方案。
我们的 CentOS 6 服务器全部使用 Winbind 加入 Active Directory 2012 R2 域。它不用于文件共享,而是用于单点登录和组访问。大多数情况下,初始 SSH 连接使用 Ansible 或 Putty 工作。这可以基于密钥或使用密码。但是,有时我们无法登录,连接会超时。这似乎并不针对任何一台服务器,而是在整个环境中随机发生。所有服务器每月都会修补并重新启动到相同的更新,因此所有服务器都在所有地方运行相同的版本。
我已经尝试了一些我能找到的与此相关的明显的答案。
- 在 /etc/ssh/sshd_config 中设置“UseDNS no”、“AddressFamily inet”、“GSSAPIAuthentication no”。行为没有变化。
- 在 /etc/ssh/sshd_config 中设置“LogLevel DEBUG2”。我在输出中没有看到任何警告或错误。
- 在 /etc/resolv.conf 中设置“options single-request-reopen”。行为没有变化。
- 对于 Winbind,“wbinfo -u”、“wbinfo -g”、“getent password”等都可以正常工作。
- 尝试增加 Samba 输出的详细程度,但在日志中没有找到任何可以指引我正确方向的内容。
- 查看域控制器上的 Windows 事件日志,也没有看到任何内容出现。
在 Windows 2012 R2 之前,域是 Windows 2008,我们遇到了同样的问题。AD 中的用户已设置所有正确的 UNIX 属性。
使用 Putty 时,我们遇到的问题与使用 Ansible 时相同。Ansible 服务器与所有服务器位于同一个 LAN 上。反向 DNS 工作正常,所有服务器均可 ping 通。服务器上的服务始终响应。只是第一次连接有时不起作用。没有显示提示。这几乎就像 SSH 在“休眠”。使用 Ansible 并尝试自动化各种事情时,它变得更加麻烦。
我不知道如何进一步解决这个问题。
有人有什么建议吗?发布我的配置,以防它们有用。
/etc/samba/smb.conf
[global]
workgroup = COMPANY
netbios name = SERVER01
password server = dc01.company.local dc02.company.local
realm = COMPANY.LOCAL
security = ads
smb encrypt = yes
template shell = /bin/bash
template homedir = /home/%U
winbind nss info = rfc2307
winbind use default domain = true
winbind offline logon = false
winbind enum users = yes
winbind enum groups = yes
idmap config *:backend = tdb
idmap config *:range = 1000000-1999999
idmap config COMPANY:backend = ad
idmap config COMPANY:default = yes
idmap config COMPANY:range = 2048-999999
idmap config COMPANY:schema_mode = rfc2307
server string = Samba Server
log file = /var/log/samba/log.%m
max log size = 5000
log level = 4
passdb backend = tdbsam
load printers = no
printcap name = /dev/null
disable spoolss = yes
[homes]
comment = Home Directories
browseable = no
writable = no
/etc/ssh/sshd_config
AddressFamily inet
Protocol 2
SyslogFacility LOCAL6
LogLevel DEBUG3
LoginGraceTime 60
PermitRootLogin no
PermitEmptyPasswords no
PasswordAuthentication yes
ChallengeResponseAuthentication no
GSSAPIAuthentication no
UsePAM 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
X11Forwarding no
UseDNS no
Banner /etc/ssh/sshd-banner
Subsystem sftp /usr/libexec/openssh/sftp-server
AllowGroups linuxadmins otheradmin
MACS hmac-sha2-256,hmac-sha1,hmac-sha2-512
谢谢!
更新
所有 CentOS 服务器和域控制器都指向 NTP 服务器,因此所有服务器的时间都是同步的。