【发布时间】:2017-03-08 19:51:11
【问题描述】:
我想做的是:
从我的本地终端运行 bash 脚本,以在 EC2 实例中运行 jar 文件。
但为了运行脚本,我必须先使用 .pem 凭据登录,然后执行 su admin 并输入管理员密码以获得运行权限。到目前为止我想出的命令是这样的:
ssh -i ~/.ssh/my_credentials.pem -t ${EC2IP} 'su admin' "ADMIN_PASSWORD" 'cd /tmp' 'java -jar my-program.jar'
但它仍然提示我输入 ADMIN_PASSWORD,然后,我的终端将登录到那台 EC2 机器,这不是我想要的,我只想完成所有命令,然后继续另一个EC2 实例。
请问我怎样才能做到这一点? 非常感谢!
【问题讨论】:
-
你为什么在这里使用
su?将sudo配置为无密码访问或配置SSH 以提供您的私钥直接访问您尝试su的帐户要容易得多。 -
您似乎假设您粘贴的字符串作为标准输入提供给
ssh,但事实并非如此。也许也可以看看stackoverflow.com/questions/37586811/…
标签: bash shell ssh amazon-ec2 terminal