Настроил на удалённом сервере авторизацию ssh по ключам. На работе всё получилось отлично. Пришёл домой, повторил, но удалённый сервер не пускает с ошибкой "Permission denied (publickey)". Проверил - мой второй клиентский ключ добавился на сервере в .ssh/authorized_keys. При этом компьютер на работе продолжает успешно коннектиться.
Ключи генерировал командой:
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_remote_$(date +%Y-%m-%d) -C "Key for Remote"
(Правда на работе перед генерацией ещё создал клиентский конфиг из
инструкции.)
Копировал на сервер одинаково:
ssh-copy-id -i .ssh/id_ed25519_remote_2018-05-24.pub <remote_server>
Хотя файлы публичных ключей получились на обоих клиентах с одинаковыми именами (может в этом причина), но на сервере в ~/.ssh/authorized_keys есть 2 строчки, и вторая строчка точно относится к домашнему компьютеру.
Еще есть особенность, что и рабочий, и домашний комьютер имеют одинаковый внешний IP (из-за использования OpenVPN). Но на рабочем компьютере можно открыть больше одной сессии ssh к этому серверу.
В логах на сервере на попытку коннекта с домашнего ПК дописывается строка:
May 24 22:09:55 <remote_server> sshd[4707]: Connection closed by authenticating user oleg MY_EXTERNAL_IP port 49406 [preauth]
Готов предоставить любую дополнительную информацию.