INS-06006错误本质是Oracle安装器在验证阶段调用scp等内部逻辑失败,而非SSH未通;它要求双向互信覆盖4种连接、强制节点自连、受OpenSSH 8.x+ scp严格校验影响,且依赖正确环境变量与.ssh权限。
INS-06006 错误本质不是“没配通 SSH”,而是 Oracle 安装器(gridSetup.sh 或 OUI)在验证阶段调用自身逻辑失败——它不只跑 ssh node date,还会隐式触发 scp、校验 known_hosts 一致性、甚至依赖特定环境变量行为。双向互信只是基础,真正卡住的往往是这些“暗处”的检查。
为什么 ssh node date 成功,但 INS-06006 仍报错
oracle 安装器在 ssh 测试阶段会执行一组内部命令,其中关键两点常被忽略:
-
scp调用受 OpenSSH 8.0+ 严格校验影响:当服务端返回的文件名与客户端请求不完全匹配(如含空格、引号、通配符扩展差异),scp直接退出并返回非零码,OUI 就判定互信失败——哪怕你手动ssh完全正常 - OUI 启动时继承的是图形会话(如 VNC/X11)的环境,而非终端中你验证时的 shell 环境:
SSH_AUTH_SOCK可能为空或指向无效 socket,HOME可能错配,导致它读不到~/.ssh/id_rsa或写入known_hosts失败 - 节点自连(
ssh localhost或本机 hostname)被强制要求:错误信息里常带[rac1]单节点,说明 OUI 检查了从本地节点到自身的免密——这点容易漏做,尤其当/etc/hosts解析不一致时
双向互信必须覆盖的 4 种连接组合
不能只跑 ssh rac1 date 和 ssh rac2 date 就认为双向完成。安装器明确要求以下全部通:
-
ssh rac1→rac2(节点 A 到 B) -
ssh rac2→rac1(节点 B 到 A) -
ssh rac1→rac1(A 自连,hostname 必须可解析且指向本机) -
ssh rac2→rac2(B 自连,同理)
验证时用完整主机名(非 IP),且确保 /etc/hosts 中每台机器的 hostname 行包含其**所有网络接口 IP**(包括私网 VIP、SCAN、public、private),否则自连可能走错网卡或 DNS 缓存。
OpenSSH 8.x+ 下必须绕过的 scp 校验陷阱
Red Hat 8/9、SLES 15、AIX 7.2 等系统默认 OpenSSH ≥8.0,其 scp 客户端新增 CVE-2019-6111 防护逻辑,拒绝服务端返回的“可疑”文件名。Oracle 安装器内部调用 scp 传临时校验文件时触发此机制。
临时修复(仅限安装期间):
- 以 root 执行:
mv /usr/bin/scp /usr/bin/scp.orig - 新建
/usr/bin/scp,内容为:/usr/bin/scp.orig -T "$@" chmod 555 /usr/bin/scp- 安装完成后务必还原:
mv /usr/bin/scp.orig /usr/bin/scp
注意:-T 参数禁用文件名校验,是 OpenSSH 官方提供的兼容开关,非 hack。不改 scp 而只降级 OpenSSH 会引入其他安全风险,不推荐。
环境变量和 .ssh 权限的隐蔽失效点
即使你用 grid 用户在终端里配好了互信,OUI 图形界面启动时可能加载的是不同 shell profile(如 /home/grid/.bash_profile 未被读取),或 .ssh 权限过松:
- 确认
grid用户的HOME在 OUI 进程中正确:ps -ef | grep runInstaller查看启动命令的HOME=值 - 强制重置环境变量:
export SSH_AUTH_SOCK=0(禁用 agent,让 OUI 直接读私钥);export HOME=/home/grid(显式指定) - 清理残留:
rm -rf /home/grid/.ssh/known_hosts /home/grid/.ssh/id_rsa*,再用sshUserSetup.sh重做(参数加-noPromptPassphrase -advanced) -
.ssh目录权限必须是700,私钥必须是600,公钥644;任何宽松权限都会被 OpenSSH 拒绝加载
最易被忽略的是:VNC 会话下 $DISPLAY 存在但 SSH_AUTH_SOCK 为空,OUI 会 fallback 到密码认证路径并失败——此时加 export SSH_AUTH_SOCK=0 是最快生效手段。











