Тестирование активных SSH-ключей в локальной сети

Я считаю, что они оба появились одновременно как часть ed, или, возможно, QED. Они довольно фундаментальны для использования ed. Если бы когда-нибудь появилась версия, в которой не было бы ни того, ни другого, я не могу представить, как бы она функционировала.

g// и //g - это две совершенно разные вещи. И здесь на самом деле происходит несколько вещей.

  • // предназначена для поиска следующей строки в файле, содержащей шаблон, она может вернуть только одну строку (обратите внимание, что 1,$/./ недействительна).
  • g// предназначен для поиска шаблона в нескольких строках, по умолчанию во всех или в указанном диапазоне. Может возвращать несколько строк.
  • //g само по себе бессмысленно и не является допустимой командой в ed (хотя некоторые другие движки принимают его, функционально он все равно такой же, как //).
  • s// предназначен для замены первого экземпляра шаблона в текущей (или указанной) строке (строках).
  • s//g - для замены всех экземпляров шаблона в текущей (или указанной) строке (строках).

Я надеюсь, что это хотя бы немного прояснит путаницу. Но я думаю, что суть ответа на ваш вопрос в том, что это две разные вещи. Каждый из них используется по разным причинам и означает разные вещи.

0
02.11.2018, 03:04
1 ответ

К сожалению, похоже, я не могу добавить комментарий (нужно 50 очков репутации ), поэтому я добавляю свой ответ вам, ребята. Кроме того, я ранее редактировал свой вопрос, но получил это уведомление:

Предложенное вами изменение ожидает рассмотрения. Патрик Мевзек рассмотрел это 2 часа назад :Отклонить Это редактирование предназначалось для автора сообщения и не имеет смысла как редактирование. Это должно было быть написано как комментарий или ответ.

Добро пожаловать в U&L, вы знаете, что у ssh есть код возврата? наряду с -o BatchMode=yes, это может помочь автоматизировать тестирование. (напр. если сш... ; затем эхо подходит для... >> good.txt ; иначе плохое эхо для... >> bad.txt ; fi )– Archemar 54 минуты назад Кроме того, что cat|grep|cut|for можно свести к homedir в $ (awk -F :'$7 ~//bin/bash/ { print $6 }' /etc/passwd ); делать.... – DopeGhoti 1 мин назад

Итак, просто чтобы уточнить :, что вы пытаетесь сделать, для каждого пользователя, для каждого хоста в их известных _хостах, попытаться войти на каждый хост с каждым предполагаемым закрытым ключом, найденным в ~имени пользователя. /.ssh? – DopeGhoti 25 минут назад :ДА

здесь;

Итак, теперь я пытаюсь понять, как сделать так, чтобы эта идея интегрировалась в мой сценарий bash, что-то вроде;

users=$(cat cutted.bash_users)
cat ssh-keys.txt | awk '{print $9}' > cutted.ssh_keys.txt
ssh_keys=$(cat cutted.ssh_keys.txt)

if ssh -l $users -i $ssh_keys $hosts_known -o BatchMode=yes -o ConnectTimeout=5
then echo $users:$hosts_known:$ssh_keys SUCCESS >> results.txt
else
echo $users:$hosts_known:$ssh_keys FAILED >> not-active.txt
fi

Если у вас, ребята, есть идея, как это сделать, я был бы очень рад узнать, как это сделать

Спасибо

0
28.01.2020, 04:10

Теги

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