【发布时间】:2018-07-08 07:31:18
【问题描述】:
我可以使用以下命令在远程服务器上运行脚本:
ssh user1@ip-of-server "command"
这很好,但我需要使用不同的用户 (user2) 执行命令。
如果我手动进行 - 这些将是步骤:
1) SSH 作为用户 1 到服务器
2) sudo su - user2
3) 执行命令(现在作为 user2)
自动化的最佳方法是什么?我应该以 user2 的身份 ssh 到服务器还是有办法以 user1 的身份 ssh,切换到 user2 并执行命令?
谢谢。
【问题讨论】:
-
可能你一登录到 user2 askubuntu.com/questions/704768/…就运行脚本
-
所以问题是我需要从本地服务器触发执行。如果我尝试以 user1 身份登录,然后发送命令(通过 SSH)切换到 user2
sudo su - user2- 它只是失败(但我可以通过首先以 user1 身份 ssh-ing 到服务器然后切换到 user2 来手动完成)。我只想自动化所有步骤,以便可以从我的本地服务器执行所有步骤。 -
或者你也可以使用 sshpass -p pwd ssh user2@192.168.x.xxx '
' -
我想知道您为什么不以 user2 身份尝试 ssh。无论如何,您可以运行类似
ssh user1@server-ip "sudo su user2 -c 'command'"的命令
标签: linux amazon-ec2 ssh