У меня дома 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. В частности, я:
- Генерация ключей SSH на моем клиентском ноутбуке (создание файла
id_rsa.pub
) - Я
scp
«d файлid_rsa.pub
на моем сервере сборки, иcat
d это в~/.ssh/authorized_keys
Я проверил , что ключ SSH моего клиента ноутбука теперь существует внутри вauthorized_keys
файла на сервере сборки. - Я закрыл терминал на своем клиентском ноутбуке, а затем снова открыл новый, просто для хорошей меры (на случай, если Linux понадобится, чтобы что-нибудь перезапустить и т.д.)
- Затем я попытался подключиться по SSH к серверу сборки, и мне все еще предлагается пароль!
Что тут происходит? Почему SSH на моем сервере сборки не поддерживает авторизованные ключи от моего клиентского ноутбука? Нужно ли перезапускать что-либо на сервере сборки (sshd
и т.д.)? Я пропустил какие-либо важные шаги здесь? Как начать устранение неполадок? Заранее спасибо!
Обновление: Видимо , Ubuntu не имеет /var/log/secure.log
но есть /var/log/auth.log
Когда я подключаю этот журнал на сервере сборки, а затем пытаюсь подключиться к серверу сборки SSH с моего клиентского ноутбука, вот что происходит:
- Я запускаю
ssh myuser@buildserver
с клиентского ноутбука - Мне предлагается пароль.
- Как только я ввожу пароль, я вижу следующий вывод в файле
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 запутаться из-за одинакового имени пользователя на обеих машинах?