RAC数据库管理 -SSH等价异常问题分析处理(19C)

Copyright (c) 2020, Oracle. All rights reserved. Oracle Confidential.
在 OpenSSH 升级到 8.x 后 GI 安装失败 INS-06006 (Doc ID 2639907.1)
文档内容
适用于:
Oracle Database - Enterprise Edition - 版本 19.3.0.0.0 和更高版本
本文档所含信息适用于所有平台
1 症状
在 19.3.0.0.0 版本的 Clusterware 上。
当尝试通过执行 <gridSetup.sh> 配置 19.3c grid infrastructure 的时候,在 SSH connectivity 步骤,发生如下错误:
[INS-06006] Passwordless SSH connectivity not set up between the following node(s): [<racnode2>]
以上错误无法被忽略,因此 CRS 安装会失败。
然而,SSH 配置是成功的,并且 ssh <node> date 命令可以在任意节点正确执行,CVU user equivalence 检查也是通过的。
通过 debug 模式执行 gridSetup.sh <gridSetup.sh -debug> 会发现在调用 <scp> 命令的时候报出 <protocol error:
filename does not match request> 的错误信息:
[Worker 0] [ 2019-05-31 14:40:49.921 CST ] [UnixSystem.remoteCopyFile:848] UnixSystem:
/usr/local/bin/scp -p <racnode2>:'/tmp/GridSetupActions2019-05-31_02-39-
46PM/CVU_19.0.0.0.0_grid/scratch/getFileInfo12906.out' /tmp/GridSetupActions2019-05-31_02-39-
46PM/<racnode2>.getFileInfo12906.out
[Thread-440] [ 2019-05-31 14:40:49.921 CST ] [StreamReader.run:62] In StreamReader.run
[Worker 0] [ 2019-05-31 14:40:49.921 CST ] [RuntimeExec.runCommand:294] runCommand: Waiting for
the process
[Thread-439] [ 2019-05-31 14:40:49.921 CST ] [StreamReader.run:62] In StreamReader.run
[Thread-440] [ 2019-05-31 14:40:50.109 CST ] [StreamReader.run:66] ERROR>protocol error:
filename does not match request
[Worker 0] [ 2019-05-31 14:40:50.109 CST ] [RuntimeExec.runCommand:296] runCommand: process
returns 1
[Worker 0] [ 2019-05-31 14:40:50.109 CST ] [RuntimeExec.runCommand:323] RunTimeExec: error>
[Worker 0] [ 2019-05-31 14:40:50.109 CST ] [RuntimeExec.runCommand:326] protocol error:
filename does not match request
更改
OpenSSH 被升级到 8.x.
2 原因
OpenSSH 被升级到 8.x. 请注意 OpenSSH 在不同的平台 / OS 可能会有不同的行为,例如在 AIX 平台,OpenSSH 7.5 有这
个问题,在 SLES Linux 12 SP4 上,OpenSSH_7.2p2 有这个问题。
# ssh -V
OpenSSH_8.0p1, OpenSSL 1.0.2r 26 Feb 2019
如下的命令在 OpenSSH 8.0 上可能会产生与上面相同的错误,不过它在 OpenSSH 7.x 上工作正常。
# scp -p <racnode2>:"'/tmp/test.txt'" /tmp/test.txt
protocol error: filename does not match request
为了降低 (CVE-2019-6111) 的风险,OpenSSH 8.0 增加了客户端检查,检查从服务器发送的文件名是否与命令行请求匹
配,如果客户端和服务器通配符扩展存在差异,那么客户端可能会拒绝来自服务器的文件。由于这个原因,OpenSSH 8.0 为
scp 提供了一个新的 -T 选项,它将禁用这些客户端检查。有关详细信息,参考 https://www.openssh.com/txt/release-8.0
3 解决方案
变通方案: (如果您的 unix 管理员允许您这么做)
在安装之前 通过 root 用户: (注意如果您的 "scp" 命令的路径与如下示例不同,请根据您是实际情况修改)
# 将原来的 scp 命令改名.
mv /usr/bin/scp /usr/bin/scp.orig
# 创建一个新的文件 </usr/bin/scp>.
vi /usr/bin/scp
# 在新创建的文件 </usr/bin/scp> 中添加如下行.
/usr/bin/scp.orig -T $*
# 修改文件的权限.
chmod 555 /usr/bin/scp
在安装结束后:
mv /usr/bin/scp.orig /usr/bin/scp
参考
Didn't find what you are looking for?
 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值