С помощью ssh
командной строки (OpenSSH) я могу указать отпечаток ключа хоста сервера?
Это возможно с помощью winscp.com (например) -hostkey="ssh-rsa 2048 AA:BB:CC...etc
Я прочитал справочную страницу пару раз, извиняюсь, если пропустил очевидное.
Я не хочу просто автоматически принимать ключ хоста, и я не хочу требовать от пользователя обновления их known_hosts
, а скорее указать ключ хоста в некоторой форме в командной строке.
ssh
ssh-keys
public-key
hostkey
пайо
источник
источник
Ответы:
В OpenSSH нет опции командной строки для передачи отпечатка ключа хоста.
Хотя вы можете использовать временный файл (в том же формате, что и
known_hosts
) иssh
использовать его, используя-o UserKnownHostsFile
:См.
ssh
(Для-o
) иssh_config
(дляUserKnownHostsFile
) справочных страниц.Вы также можете рассмотреть возможность использования
StrictHostKeyChecking yes
.Как указано в разделе «Автоматически принимать отпечаток ключа rsa из командной строки» , вы можете написать небольшой скрипт, который позволит вам добиться этого:
Если вы вызываете скрипт
ssh_known_host
, вы можете использовать его, передавая ключ в качестве первого аргумента:источник
-o UserKnownHostsFile=<(echo "hostname ssh-rsa ...")
не работает?<()
может быть прочитан только один раз, в то время какssh
читает файл повторно.