Я хочу подключиться к хосту через SSH, но не хочу, чтобы имя хоста добавлялось в мои ~/.ssh/known_hosts
.
Как я могу это сделать?
Если вам нужно такое поведение, потому что вы работаете с облачными серверами (AWS EC2, Rackspace CloudServers и т.д.) Или вы постоянно предоставляете новые образы в Vagrant, вы можете обновить конфигурацию SSH вместо добавления псевдонимов bash или дополнительных параметров в командная строка.
Попробуйте добавить что-то вроде:
Host *.mydomain.com
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
User foo
LogLevel QUIET
-o "UserKnownHostsFile /dev/null"
должно сработать.
Я чувствую, что мне нужно добавить ключ хоста в ваших known_hosts (по моему опыту, люди, работающие с этими сервисами, по крайней мере достаточно умны, чтобы их ключи хостов были согласованными между машинами, обслуживающими одно и то же имя хоста), а затем включили StrictHostKeyChecking, отключили CheckHostIP и регистрация с LogLevel ERROR даст вам лучший опыт без ущерба для безопасности. (Хорошо, без CheckHostIP вам нужно доверять DNS, который представляет собой огромную зияющую дыру без широко распространенного DNSSEC или чего-то подобного; но мы просто покажем это под ковром.)
Я использую файл only_hosts только для чтения, поэтому мне нужно что-то делать, или я получаю бесконечные предупреждения о невозможности добавления записей в known_hosts.
Что я использую:
Host github.com *.github.com
StrictHostKeyChecking yes
CheckHostIP no
LogLevel ERROR
Мне бы хотелось, чтобы эти сервисы публиковали свои ключи хоста SSH на своих веб-сайтах через HTTPS, чтобы я мог их явно копировать без необходимости сначала подключаться и потенциально подвергать себя атаке MITM.
Я предлагаю
LogLevel ERROR
над
LogLevel QUIET
так что вы все еще получаете "Не удалось разрешить имя хоста" и другие подобные ошибки
Для одного сеанса SSH, используйте этот
ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null user@host
Вы пытались отключить StrictHostKeyChecking
? Вы можете сделать это с опцией -o
или в файле конфигурации ~/.ssh/config
.
Я нашел полезными следующие записи .ssh/config (LAN с DHCP и DNS):
CheckHostIP no
Host *.*
CheckHostIP yes
Результатом является то, что имена локальных компьютеров "zora" или "goron" не будут проверяться по динамически назначенным IP-адресам, но www.mycompany.com или node42.planetlab.com будут по-прежнему подтверждать свои статические IP-адреса.