如何解决ssh 从服务器 A 到 B 并作为 sudo su 然后 su - grid 运行
我所有的服务器都是 redhat linux 8。
我正在尝试从 serverA 到 serverB 运行脚本并运行命令:然后从 crontab 运行它
这是我手动执行的操作: 在 serverA 上以 root 身份使用 /home 中的 key.pem: ssh -t -o StrictHostKeyChecking=No -i "Key.pem" user@BserverB 须藤 - su - 网格。 (这是针对oracle的) crsctl 停止有 苏—— 立即关机
我在脚本中尝试了以下命令,但它提示我到 serverB,就像我通过 ssh 连接到它来运行命令一样:
ssh -t -o StrictHostKeyChecking=No -i "Key.pem" user@BserverIP " sudo su -;su - grid;crsctl stop has;su -;shutdown now"
然后我需要它退出以运行我在 serverA 上运行的脚本的其余部分。
我查看了许多链接,但没有任何效果。你会帮忙吗?
编辑:
我的部分回答:Commands will not pass to CLI after logging into new user with sudo su - user
当我跑步时:
ssh -qt -o StrictHostKeyChecking=No -i "Key.pem" user@serverB "whoami; sudo -u userB whoami"
输出是:user 和 userB,如果我添加另一个命令,它是从 user 而非 userB 拉取它
ssh -qt -o StrictHostKeyChecking=No -i "Key.pem" user@serverB "whoami; sudo -u userB ls"
ls 正在从用户而不是用户 B 获取输出。
正确的跑步方式是什么?
su - grid ; crsctl stop has
来自同一个命令。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。