【问题标题】:Is it possible to run multiple command with remote command option in putty?是否可以在腻子中使用远程命令选项运行多个命令?
【发布时间】:2015-06-16 17:39:56
【问题描述】:

我想在服务器登录时自动运行多个命令,例如 sudo bash、ssh server01、ls、cd /tmp 等。 我在 putty 中使用 SSH 下的远程命令选项。

我尝试了多个带有分隔符 && 的命令,但都不起作用。

【问题讨论】:

  • 还有任何传递密码的解决方案吗?

标签: linux bash ssh putty server-administration


【解决方案1】:

您的问题缺少一些信息。

你说你想运行sudo bash,然后是ssh server01

sudo 会在您的远程服务器中提示输入密码吗?

假设 sudo 中没有密码,运行 bash 将打开另一个 shell 等待用户输入。命令ssh server01 在退出该 bash shell 之前不会运行。

如果您想运行 2 个命令,请先尝试更简单的命令,例如:

ls -l /tmp ; echo "hi there"

或者如果您愿意:

ls -l /tmp && echo "hi there"

这行得通吗?

如果你想在运行 bash 后运行 ssh,你可以试试:

sudo bash -c "ssh server01"

【讨论】:

  • 这很奇怪,它对我有用。您尝试了哪些命令?你在控制台上看到了什么?
【解决方案2】:

那可能是因为命令应该是程序名后跟参数,会直接传递给程序。要获得&& 和命令行解释器(例如bash)提供的其他功能,请尝试以下操作:

/bin/bash -c "command1 && command2"

【讨论】:

  • @AmanAggarwal:试试双引号(我编辑了帖子),我刚刚验证了它可以在我的机器上运行。
  • 不工作...实际上我想运行“sudo bash && ssh server01” sudo bash 或其他有什么问题吗?
【解决方案3】:

我尝试了我在之前回答中的建议。

可以在 putty 中运行 2 个简单的命令,用分号分隔。在我的示例中,我尝试使用 ls 和 echo。远程服务器运行它们,然后会话关闭。

我还尝试通过 ssh 连接到配置为不要求输入密码的远程服务器。在这种情况下,它也可以工作,我连接到第二台服务器,我可以在它上面运行命令。退出时,2 个连接将关闭。

所以,请让我们知道您真正需要/想要什么。

【讨论】:

  • 我想通过 putty 连接自动运行两个命令。第一个命令 sudo bash 需要密码,然后 ssh 到另一个服务器。
【解决方案4】:

您可以使用常规 shell 语法在 PuTTY 中执行两个连续的命令。例如。使用;&&


但是你想在sudo bash shell 中执行ssh server01,对吧?

这不是两个连续的命令,是ssh server01sudo bash内执行的命令。

所以你必须使用sudo命令行语法来执行ssh server01,比如

sudo bash ssh server01

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 2018-09-28
    • 2022-10-19
    相关资源
    最近更新 更多