Как добавить известный хост SSH в bash-скрипт?

Как добавить известный хост SSH в bash-скрипт?

Я создаю скрипт bash для подготовки нового сервера, на котором я могу развернуть веб-приложение. Одна вещь, которую я всегда должен делать, это использовать GitHub как известный хост, используя . Как я могу автоматизировать этот процесс в скрипте bash и сделать это идемпотентным способом?ssh [email protected]

решение1

Самый простой способ — сделать что-то вроде этого.

ssh-keyscan remote_server >>~/.ssh/known_hosts

Если это совершенно новый ящик, вам также может потребоваться создать каталог ~/.sshперед запуском.ssh-keyscan.

Имейте в виду, что ssh-keyscan может принимать произвольное количество имен хостов. Он получит все ключи, которые сможет.

решение2

Вы пытаетесь автоматизировать принятие нового ключа? Если да, то вы можете использовать -oStrictHostKeyChecking=no.
Это очень плохая идея, так как теперь вы полностью открыты для атак типа «человек посередине».

Лучшим вариантом было бы просто управлять файлом known_hosts и повторно использовать этот файл при предоставлении новых серверов. Прикрепите его на github и напишите простой скрипт для загрузки этого файла перед ssh-заходом на github.

Строгая проверка ключа хоста — это хорошо.

решение3

Я не уверен, что понял вопрос, но мне кажется, что вы хотите проигнорировать приглашение known_host или вообще его избежать, в этом случае:

ssh -o StrictHostKeyChecking=нет

или другие предложения по адресу:http://www.joedog.org/2012/07/ssh-disable-known_hosts-prompt/

Связанный контент