Как сказать ssh не проверять подлинность хоста соединения?

Мне регулярно приходится подключаться к хостам за несколькими VPN-сетями и провайдерами, которые рассматриваются как 10.0.0.* или же 192.168.*. То есть каждая сеть VPN может зарезервировать любой из этих диапазонов при подключении. По этой причине я не могу предположить завязать 10.0.0.* адрес конкретного хоста, потому что это будет зависеть от того, к какой VPN я подключен. Или даже разрешите использовать мой беспроводной маршрутизатор!

По этой причине я явно отключил строгую проверку ключей для хостов с этими адресами "интрасети", соответствующими приведенным выше, в моем ~/.ssh/config:

Host 192.168.* 10.0.0.*
    StrictHostKeyChecking=no
    UserKnownHostsFile=/dev/null

Я взял эти инструкции, прибегая к помощи, а также читая другие ТАК вопросы и ответы.

Проблема в том, что каждый раз, когда я подключаюсь к диапазонам адресов выше, например ssh 10.0.0.16, он говорит мне:

Warning: Permanently added '10.0.0.16' (RSA) to the list of known hosts.

что откровенно не соответствует действительности, в силу повсеместного /dev/null (который я лично нахожу часто используемым как уродливый хак) - нет постоянства добавления чего-либо к /dev/null, это? Это просто загромождает мой терминал и отталкивает меня каждый раз, когда я вижу его там.

Есть ли способ заставить ssh игнорировать отпечатки пальцев и не печатать запутанное сообщение выше? Я не хочу alias ssh='ssh 2>/dev/null' или что-нибудь безумное, как это. Я ошибся в этом? Какой у меня есть выбор? Некоторые другие варианты, возможно? /dev/null по моему мнению, это хак, и поэтому меня наказывают.

То, что я не хочу делать, это псевдоним узлов для некоторых имен хостов на стороне клиента в моем ~/.ssh/configкак в этом ответе. Это из-за двух причин:

  • Я не могу просто настроить ssh для получения псевдонима (используя Host директива) разрешить конкретный адрес, например, потому что адреса повторно используются различными провайдерами VPN, к которым я подключаюсь - 10.0.0.15 например, может быть один хост при подключении к одной VPN и другой при подключении к другой VPN. Должен ли я "разделить" мой ~/.ssh/config на несколько, по одному для каждого VPN? И использовать эти файлы конфигурации соответственно?

  • Рассматриваемый узел может быть частью довольно большой группы узлов в той же интрасети, "облаком", как его называют в наши дни. Количество узлов может доходить до сотни. Я не совсем уверен, как "массово сопоставить" несколько таких узлов на их соответствующие адреса?

2 ответа

Я знаю, что это старый вопрос, но я искал ответ на этот вопрос. Так что для любого будущего гуглера, вот что я нашел.

ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no user@host

Вы можете связать это с псевдонимом, чтобы вам было проще.

alias ssh-nocheck='ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no'

ssh-nocheck user@host

Нашел ответ на https://linuxcommando.blogspot.com/2008/10/how-to-disable-ssh-host-key-checking.html

-edit: форматирование

Вы несколько правы, но вам не хватает того, что у большинства устройств eSATA будет собственный источник питания. Если вы ожидаете, что он будет использоваться в качестве более быстрой версии внешнего USB-накопителя 2½, то вы правы:

  • Для небольших внешних накопителей вы часто можете использовать USB-кабель для питания.
  • Некоторые порты eSATA поставляются в виде комбинированного порта с eSATA и USB и питаются от сети. Они могут быть использованы со многими приводами или eSATA.
  • Для больших дисков вам все еще нужен внешний блок питания. (То же, что и с внешними 3,5-дюймовыми USB-накопителями).
  • eSATA вполне может подключаться к внешним вышкам (с их дюжиной дисков и собственным блоком питания).

Если вы хотите сравнить его только с небольшими портативными USB-накопителями и у вас нет одного из комбинированных подключений USB + eSATA: тогда да, в этом конкретном случае вы правы.

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