Как запросить несколько компьютеров по ssh с помощью одной и той же команды [duplicate]

computer1:~$ ssh -p 2222 computer2@192.x.x.x 'who -b' | \
> awk '{print $(NF-1)" "$NF}' >> textfile.txt

Этот код помогает мне выяснить, когда компьютер2 в последний раз загружался, и помещает информацию в текстовый файл с именем textfile. текст. Но что, если я хочу спросить компьютер2 И компьютер3 об одном и том же в одной команде, а затем поместить информацию в текстовый файл? Как мне задать несколько компьютеров в одной команде?

Спасибо!

3
задан 7 November 2017 в 16:05

2 ответа

Вы повторяете вопрос:

ssh -p 2222 computer2@192.x.x.100 'who -b' | awk '{print $(NF-1)" "$NF}' >> textfile.txt
ssh -p 2222 computer2@192.x.x.101 'who -b' | awk '{print $(NF-1)" "$NF}' >> textfile.txt

">>" добавит его к "textfile.txt".


При помещении IP-адресов в текстовый файл, можно циклично выполниться через него (псевдо пример):

#!/bin/bash
filename='ipaddresses.txt'
while read p; do 
    ssh -p 2222 $p 'who -b' | awk '{print $(NF-1)" "$NF}' >> textfile.txt
done < $filename
6
ответ дан 1 December 2019 в 13:15

Создайте сценарий и выполните это:

#!/bin/bash

ssh -p 2222 user@192.x.x.10 'who -b' | awk '{print $(NF-1)" "$NF}' >> textfile.txt
ssh -p 2222 user@192.x.x.11 'who -b' | awk '{print $(NF-1)" "$NF}' >> textfile.txt

Не делайте для, добираются до chmod +x myscript.sh сделать это исполняемым файлом.

Вы испытываете необходимость в основанной на ключе установке аутентификации также, сценарий легко не обработает запросы на ввод пароля.

2
ответ дан 1 December 2019 в 13:15

Другие вопросы по тегам:

Похожие вопросы: