3

У меня дома 2 ноутбука, на обоих работает Ubuntu 12.04 (Desktop), и оба используют один и тот же Wi-Fi-маршрутизатор NetGear. Я использовал метод под названием «MAC-привязка» на одной из машин, чтобы маршрутизатор всегда назначал ему один и тот же IP-адрес 192.168.1.52 каждый раз, когда он пытается подключиться к Интернету. (Не связано: привязка MAC-адреса означает только настройку маршрутизатора для постоянной привязки определенного MAC-адреса к определенному IP-адресу.)

Итак, у меня есть 1 ноутбук, которому всегда присваивается случайный IP-адрес в диапазоне от 192.168.1.1 до 192.168.1.50, и 1 ноутбук (мой "сервер сборки"), которому всегда назначается 192.168.1.52.

Я пытаюсь написать сценарий bash, который я буду запускать на "клиентском" ноутбуке (случайном IP-компьютере), который будет подключаться по ssh к серверу сборки (192.169.1.52); отсюда необходимость для сервера сборки иметь "выделенный" IP из моей локальной сети. Я не хочу явно указывать пароль для этих скриптов bash, поэтому я следовал инструкциям в этой статье, чтобы сгенерировать ключи SSH. В частности, я:

  1. Генерация ключей SSH на моем клиентском ноутбуке (создание файла id_rsa.pub )
  2. Я scp «d файл id_rsa.pub на моем сервере сборки, и cat d это в ~/.ssh/authorized_keys Я проверил , что ключ SSH моего клиента ноутбука теперь существует внутри в authorized_keys файла на сервере сборки.
  3. Я закрыл терминал на своем клиентском ноутбуке, а затем снова открыл новый, просто для хорошей меры (на случай, если Linux понадобится, чтобы что-нибудь перезапустить и т.д.)
  4. Затем я попытался подключиться по SSH к серверу сборки, и мне все еще предлагается пароль!

Что тут происходит? Почему SSH на моем сервере сборки не поддерживает авторизованные ключи от моего клиентского ноутбука? Нужно ли перезапускать что-либо на сервере сборки (sshd и т.д.)? Я пропустил какие-либо важные шаги здесь? Как начать устранение неполадок? Заранее спасибо!

Обновление: Видимо , Ubuntu не имеет /var/log/secure.log но есть /var/log/auth.log Когда я подключаю этот журнал на сервере сборки, а затем пытаюсь подключиться к серверу сборки SSH с моего клиентского ноутбука, вот что происходит:

  1. Я запускаю ssh myuser@buildserver с клиентского ноутбука
  2. Мне предлагается пароль.
  3. Как только я ввожу пароль, я вижу следующий вывод в файле auth.log сервера сборки :

 

May 21 12:02:07 buildserver sshd[28930]: error: RSA_public_decrypt failed: error:0407006A:lib(4):func(112):reason(106)
May 21 12:02:10 buildserver sshd[28930]: pam_sm_authenticate: Called
May 21 12:02:10 buildserver sshd[28930]: pam_sm_authenticate: username = [myuser]
May 21 12:02:10 buildserver sshd[28930]: pam_sm_authenticate: /home/myuser is already mounted
May 21 12:02:10 buildserver sshd[28930]: Accepted password for myuser from 192.168.1.3 port 39821 ssh2
May 21 12:02:10 buildserver sshd[28930]: pam_unix(sshd:session): session opened for user myuser by (uid=0)
May 21 12:02:10 buildserver sshd[29003]: Received disconnect from 192.168.1.3: 11: disconnected by user
May 21 12:02:10 buildserver sshd[28930]: pam_unix(sshd:session): session closed for user myuser

Что-то, что, возможно, мне следовало бы упомянуть: на обеих машинах (на клиентском ноутбуке и на моем сервере сборки имя пользователя / имя учетной записи myuser) - может ли Linux запутаться из-за одинакового имени пользователя на обеих машинах?

3 ответа3

6

Первый шаг: перезапустите ssh с помощью /etc/init.d/sshd restart . Также убедитесь, что права доступа к файлу Authorized_users указаны правильно. Для проверки используйте chmod 600 ~/.ssh/authorized_keys и убедитесь, что он принадлежит пользователю, в который вы входите.

5

Для меня удаление id_rsa.pub помогло (я использовал ключ ~/.ssh/id_rsa). Это было вызвано тем, что id_rsa.pub не соответствовал моему ключу id_rsa.

1

В каком формате ваш открытый ключ?

Я нахожу много инструментов для генерации ключей, таких как это:

---- BEGIN SSH2 PUBLIC KEY ----
Comment: "1024-bit RSA, converted from OpenSSH by me@example.com"
AAAAB3NzaC1yc2EAAAABIwAAAIEA1on8gxCGJJWSRT4uOrR13mUaUk0hRf4RzxSZ1zRb
YYFw8pfGesIFoEuVth4HKyF8k1y4mRUnYHP1XNMNMJl1JcEArC2asV8sHf6zSPVffozZ
5TT4SfsUu/iKy9lUcCfXzwre4WWZSXXcPff+EHtWshahu3WzBdnGxm5Xoi89zcE=
---- END SSH2 PUBLIC KEY ----

И мои authorized_keys файл всегда содержал ключ , как это:

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEA1on8gxCGJJWSRT4uOrR13mUaUk0hRf4RzxSZ1zRbYYFw8pfGesIFoEuVth4HKyF8k1y4mRUnYHP1XNMNMJl1JcEArC2asV8sHf6zSPVffozZ5TT4SfsUu/iKy9lUcCfXzwre4WWZSXXcPff+EHtWshahu3WzBdnGxm5Xoi89zcE=

(Открытый ключ объединен в одну строку)

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