【问题标题】:How to automatically ssh into server and su with password using bash script?如何使用 bash 脚本使用密码自动 ssh 进入服务器和 su?
【发布时间】:2019-07-09 13:07:14
【问题描述】:

我需要通过 ssh 进入服务器并在该服务器中使用密码 su,然后从那里通过 ssh 进入另一台服务器。通过 bash 脚本 ssh 进入我的第一台服务器后,我无法使用密码 su。通常我在终端做的是,

$ ssh server1

登录server1$ su用户

密码:******

切换到对应的user$ ssh server2

如何通过在 bash 中使用密码切换用户来自动执行此过程?

【问题讨论】:

  • 这似乎是一个奇怪的设置。为什么不能只登录到 user2@server1?如果您不能,无论出于何种原因,您都可以使用.bashrc 来完成您的任务。
  • 我需要使用 bash 脚本登录到用户 @server1,但我不确定这样做!它引发了诸如“su 必须从另一个终端运行”之类的问题

标签: bash ssh server passwords su


【解决方案1】:

你试过了吗?

sshpass -f <(printf '%s\n' "yourpassword") ssh username@server "\"sshpass -f <(printf '%s\n' "yourpassword") ssh username@server"

【讨论】:

  • 可能是这样的......我会测试,但我没有任何可以使用 atm 的服务器。
  • 谢谢,但我怎样才能传递密码?
  • 使用 sshpass 怎么样? sshpass -p 'YourPassword' ssh user@host
  • 所以,我尝试了 sshpass -p 'YourPassword' ssh user@host 然后 "su user" 它不是在终端询问密码
  • ssh username@server1 "su -c \"sshpass -p 'YourPassword' ssh user@server2"su -c"" 有语法问题吗?显示出意外的 EOF
【解决方案2】:

没有密码的 sudo 可以为你工作吗?

ssh abc@$xyz "
    echo '
        set -vxe
        # Your script here
    ' | sudo /bin/bash"

【讨论】:

    猜你喜欢
    • 2019-01-13
    • 2012-08-25
    • 2013-05-28
    • 2015-08-03
    • 2017-07-05
    • 2015-11-20
    相关资源
    最近更新 更多