Я пытаюсь создать скрипт bash, который читает файл .ssh / config и подключается к узлам, которые используют только IdentityFile или ssh, и запускают команды на удаленных серверах. Поэтому проблема заключается в том, что файл конфигурации содержит узлы, которые не используют IdentityFile и подключаются через пароли. Как явно grep Host и IdentityFile блокируют в файле и отбрасывают другие? Я уже сделал скрипт, который подключается ко всем хостам в файле с циклом for, но это не то, что я хочу на 100%. Спасибо. Мой файл .ssh / config выглядит так:
Host centos7-mp1
Hostname 192.168.89.102
user root
IdentityFile /root/.ssh/keys/id_rsa_passwordless
Host centos6-mp2
Hostname 192.168.89.103
user root
IdentityFile /root/.ssh/keys/id_rsa_passwordless
Host centosvm-test
Hostname 192.168.56.233
user test
Grep определенная строка внутри файла. Для grep:
$ grep -i 'string' ~/path/to/config/file/
Если это именно то, что вы хотите ..