@Batiskaf_stv
Программист, ИТ-энтузиаст

Почему не пускает по ssh (Permission denied (publickey)) со второго IP?

Настроен доступ по SSH к удалённой машине с помощью ключей. Ключ скопирован с клиента на сервер.
Доступ по: ssh external_ip
отлично работает.
На удаленной машине поднят OpenVPN-сервер. При попытке доступа по IP tun-интерфейса (10.8.0.1) приводит к ошибке "Permission denied (publickey)".
Судя по логам (ssh -v) проблема в том, что во втором случае SSH не может найти нужный ключ в ~/.ssh/known_hosts — у меня нестандартное имя файла ключа (для разных машин разные ключи).
Подключение с явным указанием файла ключа проходит, но, видимо, не добавляет запись в ~/.ssh/known_hosts — повторная попытка соединиться без указания файла приводит к той же ошибке.
Ясности не добавляет то, что файл ~/.ssh/known_hosts хэширован — IP удаленных машин не видны.
Как можно сделать так, чтобы клиент SSH запомнил, что есть 1 и тот же ключ для 2 разных IP удаленных машин?

Лог успешного подключения
debug1: Server host key: ssh-ed25519 SHA256:_some_host_key_
debug1: Host '10.8.0.1' is known and matches the ED25519 host key.
debug1: Found key in /home/user/.ssh/known_hosts:7
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering public key: ED25519 SHA256:_some_key_ .ssh/id_ed25519_my_remote_machine
debug1: Server accepts key: pkalg ssh-ed25519 blen 51
debug1: Authentication succeeded (publickey).
Лог подключения с ошибкой
debug1: Server host key: ssh-ed25519 SHA256:_some_host_key_
debug1: Host '10.8.0.1' is known and matches the ED25519 host key.
debug1: Found key in /home/user/.ssh/known_hosts:7
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/user/.ssh/id_rsa
debug1: Trying private key: /home/user/.ssh/id_dsa
debug1: Trying private key: /home/user/.ssh/id_ecdsa
debug1: Trying private key: /home/user/.ssh/id_ed25519
debug1: Trying private key: /home/user/.ssh/id_xmss
debug1: No more authentication methods to try.
user@10.8.0.1: Permission denied (publickey).
  • Вопрос задан
  • 37616 просмотров
Решения вопроса 1
@krypt3r
Настройте ~/.ssh/config, чтобы настроить разные ключи для разных серверов
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
hulitolku
@hulitolku
мне помогло
chmod 600 ~/.ssh/authorized_keys
Ответ написан
Комментировать
saboteur_kiev
@saboteur_kiev Куратор тега SSH
software engineer
Судя по логам (ssh -v) проблема в том, что во втором случае SSH не может найти нужный ключ в ~/.ssh/known_hosts — у меня нестандартное имя файла ключа (для разных машин разные ключи).


В known_hosts находится список known хостов (известных хостов).
Файл ключей находится, например, в id_rsa или id_dsa
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
CTRL+ Москва
от 250 000 до 320 000 ₽
CTRL+ Москва
от 200 000 до 300 000 ₽
CTRL+ Белград
от 250 000 до 320 000 ₽
22 нояб. 2024, в 02:56
10000 руб./за проект
22 нояб. 2024, в 00:55
500 руб./за проект
21 нояб. 2024, в 23:30
300000 руб./за проект