ssh以用户身份登录并更改为root,无需sudo

时间:2019-01-10 00:00:41

标签: go

我的golang代码有以下任务:

  • 该命令必须以root用户身份在bash中在服务器上远程运行,并且命令输出必须在一个变量中获取。
  • 禁用root身份登录ssh。
  • 服务器上的sudo已禁用,因此我必须使用'su-'并输入密码
  • 由于我想在bash中使其尽可能自动化,因此密码必须存储在命令中

以下是工作流程操作:

  1. 通过SSH(作为非特权用户)登录到远程主机
  2. 提升为特权“ root”用户-> su-
  3. 输入root密码
  4. 运行root用户可以执行的命令
  5. 在localhost上输出到字符串并执行一些操作

我已经在Google上搜索了几天,但似乎无法找到解决方案。 有人对此有解决方案吗?

1 个答案:

答案 0 :(得分:0)

您面临的问题是与命令执行后的交互。

exec.Command用于非交互式命令非常容易。

我建议使用Expect进行交互,或使用here上的Golang等效项。