gpt4 book ai didi

linux - 编写一个shell脚本ssh到远程机器并执行命令

转载 作者:IT老高 更新时间:2023-10-28 12:25:27 26 4
gpt4 key购买 nike

我有两个问题:

  1. 有多个远程 linux 机器,我需要编写一个 shell 脚本,在每台机器上执行相同的命令集。 (包括一些 sudo 操作)。如何使用 shell 脚本来做到这一点?
  2. ssh到远程机器时,提示进行RSA指纹认证时如何处理。

远程机器是运行时创建的虚拟机,我只有它们的 IP。所以,我不能事先在这些机器中放置一个脚本文件并从我的机器上执行它们。

最佳答案

There are multiple remote linux machines, and I need to write a shell script which will execute the same set of commands in each machine. (Including some sudo operations). How can this be done using shell scripting?

你可以使用 ssh 来做到这一点,例如:

#!/bin/bash
USERNAME=someUser
HOSTS="host1 host2 host3"
SCRIPT="pwd; ls"
for HOSTNAME in ${HOSTS} ; do
ssh -l ${USERNAME} ${HOSTNAME} "${SCRIPT}"
done

When ssh'ing to the remote machine, how to handle when it prompts for RSA fingerprint authentication.

您可以将 StrictHostKeyChecking=no 选项添加到 ssh:

ssh -o StrictHostKeyChecking=no -l username hostname "pwd; ls"

这将disable the host key check并自动将主机 key 添加到已知主机列表中。如果您不想将主机添加到已知主机文件中,请添加选项 -o UserKnownHostsFile=/dev/null

请注意,这会禁用某些安全检查,例如防止中间人攻击。因此,它不应该应用在安全敏感的环境中。

关于linux - 编写一个shell脚本ssh到远程机器并执行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13928116/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com