SSH作为另一个用户,运行命令并退出

时间:2018-03-26 00:22:07

标签: bash ssh

让我们说我是userA,我正在尝试SSH作为userB,在远程主机上运行多个命令并退出。我不能像主人一样对主人说。

我编写了以下bash脚本,它有两个问题。 1)直到服务器关闭时,循环不回显任何内容,并且在服务器启动时永远不会退出循环 2)当服务器启动并运行脚本时,ssh会话不会退出

#!/bin/bash

until ssh userB@IP; do
    echo "Trying again..."
done

ssh -tT userB@IP << EOF
  echo 'test' > test
EOF 

请建议任何更正。

1 个答案:

答案 0 :(得分:2)

对于第一个ssh,请考虑

options.AssumeDefaultVersionWhenUnspecified = true;

所以你不要

  1. 在获取echo命令和
  2. 之前等待太久或尝试太多次
  3. 打开您必须手动关闭的连接。