【问题标题】:ssh sudo to a different user execute commands on remote Linux serverssh sudo 到另一个用户在远程 Linux 服务器上执行命令
【发布时间】:2018-06-13 20:48:33
【问题描述】:

我们在服务器之间为 root 用户提供了无密码身份验证,我正在尝试在远程服务器上运行别名,如下所示

#ssh remoteserver runuser -l wasadmin wasstart

但它不起作用。任何建议或任何其他方法来实现它

【问题讨论】:

  • 欢迎来到 Stack Overflow! “不工作”是什么意思?您收到任何错误消息吗?
  • 您应该添加新信息来编辑问题,而不是发布答案。您可以解决运行定义别名的配置脚本的问题。 ssh remoteserver runuser -l wasadmin "/path/to/script/with/aliases; wasstart"

标签: linux bash ssh sudo


【解决方案1】:

根据您的 cmets,您需要 sudo 到 wasadmin 才能运行 wasadmin,您可以试试这个:

ssh remoteserver 'echo /path/to/wasadmin wasstart | sudo su - wasadmin'

【讨论】:

  • 问题是我们无法直接访问 wasadmin。所以我们需要使用 sudo su - wasadmin 或 runuser -l wasadmin
  • 我正在使用 root 帐户,该帐户具有来自跳转服务器的无密码身份验证。
  • runuser 是 Linux 中的一个命令,可以用来运行不同的用户
  • @DharmaPunniyaMoorthy - 查看更新后的答案,试试是否可行。
【解决方案2】:

要在 linux 中添加别名,您必须运行

alias youcommandname=‘command’

注意: 这将一直有效,直到您关闭或退出当前 shell。要解决此问题,只需将其添加到您的 .bash_profile 并运行 source .bash_profile 此外,您的配置文件名取决于您使用的外壳。 bash , zsh ,...

【讨论】:

  • 别名已存在。我的意图是从远程服务器触发别名
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-22
  • 2015-04-24
  • 2012-12-01
  • 2011-09-05
  • 2017-06-10
  • 1970-01-01
  • 2012-11-20
相关资源
最近更新 更多