Так что, как обычно, у меня есть блок Kubunutu / Windows 7 с двойной загрузкой (с cygwin), с определенным статическим IP-адресом локального диапазона 192.168.0.x, и я хочу подключиться к нему по SSH из других своих систем, независимо от того, какая система работает.

Дело в том, что я настраивал компоненты Kubuntu и Windows 7 по отдельности, поэтому они имеют разные ключи хоста ssh (это присуще этим настройкам двойной загрузки), но также имена пользователей и IdentityFile (что довольно неудобно, я просто не особо задумывался о это когда я выбираю имя учетной записи Windows 7) и ssh сходит с ума, потому что каждый раз, когда я загружаюсь на другую ОС, он думает, что кто-то MITMing, так как ключ для того же IP изменился.

Что я могу здесь сделать лучше всего? ~/.ssh/known_hosts и комментируя разные части ~/.ssh/config каждый раз, когда я вхожу в какую- то работу, я бы лучше решил ее правильно.

2 ответа2

2

Я собираюсь ответить на этот вопрос самостоятельно.

Сначала я переименовал свою учетную запись пользователя в /etc/passwd в cygwin без изменения имени учетной записи Windows и переместил /home/myoldname в /home/mynewname .

Затем я скопировал ~/.ssh/authorized_keys из Ubuntu в cygwin, чтобы я мог использовать один и тот же ключ идентификации для доступа к обоим.

Затем я добавил следующие строки в ~/.ssh/config на машине, обращающейся к ним:

Host 192.168.*.*
  User mynewname
  IdentityFile /path/to/identity.key
  UserKnownHostsile /dev/null
  StrictHostKeyChecking no

Это предотвращает сохранение файла ключа, оставляя мне только слегка раздражающее сообщение при каждом входе в систему:

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

Я могу жить с этим.

1

Просто если кому-то интересно, вы можете иметь две записи с одинаковым ip-адресом в .ssh/known_hosts. SSH примет хост, если одна из записей верна.

Вам просто нужно вручную отредактировать .ssh/known_hosts или вы можете закомментировать один, ssh с другим и затем раскомментировать.

Пример:

  1. Ты сш в Kubuntu
  2. Вы добавляете тире в запись, соответствующую вашему IP-адресу
  3. Ты ssh в винду
  4. Вы раскомментируете запись для kubuntu в .ssh/known_hosts
  5. Вы можете войти в обе системы без всякого предупреждения или чего-либо еще.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .