微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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或等效内容.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐