【发布时间】:2019-06-05 18:54:12
【问题描述】:
错误信息:
命令行:第 0 行:错误的配置选项:
sh '''ssh -i ${rundeck_rsa_key} -o StrictHostKeyChecking=no -o centos@xxxx.net "sudo su -c "sh ./home/centos/releases/xx.sh" rundeck"'''
Broken Down 命令(我只是为了您的方便做了上面的命令)
sh '''ssh -i ${rundeck_rsa_key} -o StrictHostKeyChecking=no
-o centos@xxxx.net "sudo su -c "sh ./home/centos/releases/xx.sh" servc"'''
我正在尝试
- ssh 进入服务器
- 将用户更改为“servc”
- 执行 xx.sh shell
我认为"sudo su -c "sh ./home/centos/releases/xx.sh" servc" 存在语法错误
你有什么线索吗? :D
【问题讨论】:
-
为什么这一切都包含在对
sh的调用中?顺便说一句,如果远程sudo要求输入密码,我假设它会,你将无法输入。 -
你试过简单的
ssh -i ${rundeck_rsa_key} -o StrictHostKeyChecking=no -o centos@xxxx.net "sh -c sudo ./home/centos/releases/xx.sh rundeck"吗? (centos@xxx.net必须在xxx.net上拥有sudo或su特权,您需要其中一个(sudo或su -c),但不能同时拥有) -
@lurker 不需要密码。
-
错误消息告诉我您的
ssh选项之一-o不正确(它们是配置选项)。key=value形式的配置选项不是吗?在这种情况下,centos@xxxx.net将是一个无效的配置选项。你还没有解释为什么你需要sh。 -
@lurker 我拿出 -o 并显示了一个不同的错误。
user ./home/centos/releases/xx.sh不存在。