Как сказать 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: тогда да, в этом конкретном случае вы правы.