Пропуск проверки ключа хоста в dput/sftp

Комбинация grep и csplit может выполнить эту работу: a) grep ping все незавершенные строки плюс предыдущая информационная строка и b) разделение вывода на основе строки информационного комментария:

grep -v -B1 '^#' file | csplit -z - '/^#/' '{*}'

Т.е. не -v извлекать строки, у которых есть # в начале ^ # , но одна строка, предшествующая таким строкам -B1 . Затем разделите входящий конвейерный ввод - на каждом # в начале строки, игнорируйте пустые файлы -z и делайте это как можно чаще {*} .

Переименование должно быть отдельным шагом ( csplit autonames outpit как xx00, xx01 ... - измените пре- и суффикс с помощью -f и - b варианты соответственно)

#/bin/bash
for f in xx* ; do
   mv "$f" "$( sed -n '2p' "$f" )".txt
done
3
30.05.2017, 17:59
1 ответ

dput-ng использует python-paramiko, который не использует OpenSSH (поэтому изменения ~/.ssh/config не отражаются -- из вопрос также заключается в подсказках по отключению строгой проверки ключа хоста, когда это ваш единственный способ убедиться, что вы подключаетесь к хосту, который вы думаете). Но он использует хранилище известных хостов OpenSSH, поэтому вы сможете загрузить ключи хоста сервера с помощью ssh-keyscan, проверить их вручную, сохранить их в этом хранилище и затем подключиться без проблем:

$ ssh-keyscan ppa.launchpad.net
# ppa.launchpad.net:22 SSH-2.0-Twisted
ppa.launchpad.net ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA0aKz5UTUndYgIGG7dQBV+HaeuEZJ2xPHo2DS2iSKvUL4xNMSAY4UguNW+pX56nAQmZKIZZ8MaEvSj6zMEDiq6HFfn5JcTlM80UwlnyKe8B8p7Nk06PPQLrnmQt5fh0HmEcZx+JU9TZsfCHPnX7MNz4ELfZE6cFsclClrKim3BHUIGq//t93DllB+h4O9LHjEUsQ1Sr63irDLSutkLJD6RXchjROXkNirlcNVHH/jwLWR5RcYilNX7S5bIkK8NlWPjsn/8Ua5O7I9/YoE97PpO6i73DTGLh5H9JN/SITwCKBkgSDWUt61uPK3Y11Gty7o2lWsBjhBUm2Y38CBsoGmBw==

и вставьте строку в ~/.ssh/known_hosts. Ярлык:

$ ssh-keyscan ppa.launchpad.net >> ~/.ssh/known_hosts

После этого вы сможете без проблем подключиться.

3
27.01.2020, 21:21

Теги

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