bash – 将密码传递给sudo su

ssh进入远程服务器之后我想sudo给不同的用户,为此我尝试了以下内容
cat remote-test.sh
ssh -t -t abcuser@test-server.net 'bash -s' << EOF
  /tmp/test.sh
EOF

当我从development-server.net执行remote-test.sh时,我想ssh到test-server.net作为abcuser然后sudo作为xyzuser.

cat /tmp/test.sh

echo "password" | sudo -S su - xyzuser
cd /tmp/some/directory

有人可以建议如何在脚本中执行sudo su时传递密码.

您将用户的xyzuser设置为本地主机 password-less ssh,以实现您正在尝试的功能.您需要添加abcuser的公钥作为xyzuser的authorized_key.

然后,当您以abcuser身份登录时,您可以执行以下操作:

ssh xyzuser@localhost do_something_as_xyzuser

如果您已阻止对xyzuser的ssh访问,请仅通过环回来允许它.如果您使用的是linux,请参阅/etc/security/access.conf或等效内容.

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...