SSH - Как добавить хост в файл ssh/known_host

Файл known_hosts выглядит следующим образом:

[localhost]:8001 ssh-dss AAAAB3NzaC1kc3MAAACBAP1/U4EddRIpU   
[10.18.60.198]:8001 ssh-dss AAAAB3NzaC1kc3MAAACBAP1/U4EddRIpUt9
// key are trimmed at the end

Эти ключи добавляются через Eclipse IDE. Хотите узнать, каковы другие способы добавления хостов (IP) и их ключей в файл ssh / known_hosts.

Конкретно:- Как добавить ключ ssh-dss для любого хоста (IP) в файле known_hosts.

РЕДАКТИРОВАТЬ:-

Я использую JBoss BRMS, который использует git для проектов BRMS, поэтому во время клонирования проекта BRMS в Eclipse IDE через Git выдает следующую ошибку

Подлинность хоста localhost не может быть установлена.
Отпечаток ключа DSA - e2:2c:62 // обрезается.
Вы уверены, что хотите продолжить подключение?

Затем он автоматически добавляет ключ ssh-dss в файл known_hosts.

Итак, где найти этот ключ и добавить его вручную в файл knownhosts

3 ответа

Формат ~/.ssh/known_hosts определяется OpenSSH. Другое программное обеспечение может вызывать OpenSSH (команда ssh) или иметь собственные реализации, которые не обязательно совместимы на 100%.

Формат OpenSSH known_hosts описан на странице справочника sshd(8), в разделе "Формат файла ssh_known_hosts". Он говорит, что это текстовый файл с одной строкой на пару хост-ключ:

Каждая строка в этих файлах содержит следующие поля: маркеры (необязательно), имена хостов, тип ключа, ключ в кодировке base64, комментарий. Поля разделены пробелами. […] Hostnames - это список шаблонов через запятую ('*' а также '?'подстановочные знаки); каждый шаблон в свою очередь сопоставляется с именем хоста. […] Имя или адрес хоста могут быть заключены в '[' а также ']скобки затем следуют:и нестандартный номер порта.

Чтобы автоматически добавить ключ для нового хоста, просто SSH к нему.

Чтобы вручную добавить ключ для нового хоста, 1) откройте файл known_hosts в текстовом редакторе и 2) добавьте ключ для нового хоста, следуя тому же формату. (Ключ должен соответствовать хосту, к которому вы подключаетесь. Вы можете запросить у хоста его ключ, используя ssh-keyscan -t <type> <address>.)

Чтобы добавить ключ для всех хостов, используйте * шаблон в качестве имени хоста, который будет соответствовать всем именам хостов и адресам. Чтобы добавить ключ для всех хостов на конкретном порту, используйте [*]:8001 в качестве имени хоста.

Например, вам нужно добавить 127.0.0.1 к известным_хостам:

      ssh-keyscan -H 127.0.0.1 >> ~/.ssh/known_hosts

Для файла Docker я использую:

      RUN apt-get update  \
    && apt-get install -y \
    ssh \
    && rm -rf /var/lib/apt/lists/* \
    && mkdir -p ~/.ssh/ \
    && ssh-keyscan -H 192.168.12.31 >> ~/.ssh/known_hosts

Гдеapt-get install -y ssh- сделать возможным использование ssh-keyscan в командной строке, затемrm -rf /var/lib/apt/lists/*- очистка информации о загруженном пакете с помощью apt.

Попробуйте войти в свою цель, а затем введите yes, когда она попросит сохранить ключ.

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