Как прокомментировали другие, HashKnownHosts да
приводит к тому, что имя хоста не автозаполняется из-за его хеширования. Добавьте это в «глобальный» раздел, используя Хозяин *
чтобы соответствовать всем хостам.
Хозяин *
HashKnownHosts нет
Хотя это работает, это не удовлетворяет мои потребности, потому что я предпочитаю короткое имя длинному имени, и мой ~/.ssh/config
использует Имя хоста
для преобразования короткого имени в полное доменное имя. Вот мой конфигурация
.
Хозяин *
HashKnownHosts нет
Хост ns-*
Имя хоста %h.example.com
Идентификационный файл ~/.ssh/%h
ИдентичностиТолько да
При подключении к нс-хост01
, в известные_хосты
.
ns-host01.example.com, 192.16.0.104 ECDSA-SHA2-NISTP256 AAAAE2VJZHNHLXNOYTITBMLZDHAYNTYAAAAIBMLZDHAYNTYAAABBBOL4AD310E/7OPWINZVOTUO1RSHKIN/PULJVR9NQMAMNEMN310E/7OPWINZVOTUO1RSHKIN/PULJVR9NQMAMNSPLZAX -GERSPRAX-GLAAX-GLAAX-210SPRAX.
Но это не помогает с автозаполнением, которое завершается полным доменным именем. Хотя я мог бы добавить короткое имя вручную, это слишком... вручную. Я не мог найти ничего в Интернете, чтобы добавить короткое и длинное имя хоста с IP-адресом известные_хосты
. Тогда я РТФМ.
-f файл
Чтение пар хостов или «списка имен адресов» из файла, по одной на строку. Если вместо имени файла указано â-â, ssh-keyscan
будет считываться со стандартного ввода. Ввод ожидается в формате:
1.2.3.4,1.2.4.4 имя.мой.домен,имя,n.мой.домен,n,1.2.3.4,1.2.4.4
Имея это в виду, это
echo "192.16.0.104,ns-host01,ns-host01.example.com" | ssh-keyscan -f - -t ecdsa, ed25519
производит следующее, которое содержит короткое и длинное имя хоста и IP.
192.16.0.104,ns-host01,ns-host01.example.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNF+UEbktGXlyYX/t1hvnIvxa+9fB67q15EjBkZUA2EkkTrcvLwASi6np9gqM5dCSpE0CkLeGP75UMFR8LOAgqM=
# 192.16.0.104:22 SSH-2.0-OpenSSH_8.1
192.16.0.104,ns-host01,ns-host01.example.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMibknxgW6cY7JUsKQEB/i188uS9SLx8JoiMg+YD3n7U
Добавьте это к своему известные_хосты
и теперь автозаполнение работает как положено, останавливаясь на коротком имени хоста.