Назад | Перейти на главную страницу

ssh-keyscan не читает .ssh / config?

Я использую ssh-keyscan в сценарии оболочки для приема ключей от хостов. Хосты идентифицируются по имени хоста, но не в / etc / hosts. Они в ./ssh/config Так что я могу ssh <hostname> но я не могу ping и т.п.

Это выглядит как ssh-keyscan не использует .ssh/config файл, и это кажется забавным.

Может кто-нибудь подтвердить, что это происходит с ними?

Реальный вопрос: есть ли у кого-нибудь способ заставить ssh-keys использовать ~ / .ssh / config?

ssh-keyscan не может и не может быть использован .ssh/config.

Однако то, что вы просите, не требует этого: простая передача реальных имен / адресов хостов в ssh-keyscan (и, таким образом, сохранение их в known_hosts) будет работать, даже если вы используете псевдонимы из конфигурации с ssh. Но вы даже можете указать ssh-keyscan добавлять в вывод другие имена помимо тех, которые он использовал для подключения при использовании -f вариант:

 -f file
         Read hosts or “addrlist namelist” pairs from file, one per line.
         If - is supplied instead of a filename, ssh-keyscan will read
         hosts or “addrlist namelist” pairs from the standard input.

ssh-keyscan - это утилита для сбора общедоступных ключей хоста ssh для ряда хостов. Он был разработан, чтобы помочь в создании и проверке **ssh_known_hosts** файлы. ssh-keyscan предоставляет минимальный интерфейс, подходящий для использования в сценариях оболочки и Perl.

-f file
Read hosts or addrlist namelist pairs from this file, one per line. If - is supplied instead of a filename, ssh-keyscan will read hosts or addrlist namelist pairs from the standard input.


Input format: 
1.2.3.4,1.2.4.4 name.my.domain,name,n.my.domain,n,1.2.3.4,1.2.4.4

Output format for rsa1 keys:
host-or-namelist bits exponent modulus

Output format for rsa and dsa keys:
host-or-namelist keytype base64-encoded-key

Where keytype is either ''ssh-rsa'' or ''ssh-dss''.
/etc/ssh/ssh_known_hosts 

Например:

Print the rsa host key for machine hostname:
$ ssh-keyscan hostname

Find all hosts from the file ssh_hosts which have new or different keys from those in the sorted file ssh_known_hosts:
$ ssh-keyscan -t rsa,dsa -f ssh_hosts | sort -u - ssh_known_hosts | diff ssh_known_hosts -