SSH "отказал ключ" только с публичным IP, работает локально

так что моя проблема в том, что я не могу подключиться к моему SSH-серверу (работает на Linux Mint Sarah) с моего клиента (Windows 7 через PuTTY). Работает только через локальный IP.

и сервер и клиент находятся в одной подсети. Сервер SSH настроен для разрешения только соединений ключа SSH-RSA без паролей. Я установил ключ, и это успешно работает по желанию при подключении к локальному IP-адресу сервера.

я открыл порт 22 в брандмауэре моего устройства WAN, и я может подтвердить, что он подключается к правой коробке, когда я пытаюсь публичный IP, потому что тикать брандмауэр сервера вкл / выкл вызывает отклонения. Таким образом, соединение SSH успешно достигает сервера, пытаясь аутентифицироваться с закрытым ключом, но терпит неудачу с:

Server refused our key

Звучит очевидно, но я не понимаю, почему ключ не проходит проверку подлинности, когда я могу добиться успеха с тем же ключом локально. Эта проблема была трудно исследовать, потому что большинство результатов неверны переадресация портов.

это то, что я пробовал (после этой руководство, среди прочего):

  • обновил все пакеты на сервере и apt-get install openssh-server.
  • In /etc/ssh/sshd_config Я:
    • Port 22
    • AllowUsers user
    • PasswordAuthentication no
    • UsePAM no
  • в PuTTYgen, создал открытый и закрытый ключ, сохраненный в каталоге (в Windows).
  • In /home/user/.ssh/authorized_keys, скопировал часть открытого ключа, начинающаяся с ssh-rsa и заканчивая == comment в одной строке с возвратом каретки в конце.
  • chmod 700 ~/.ssh которые перечислены в разделе ls -al as drwx------
  • chmod 644 ~/.ssh/authorized_keys которые перечислены в разделе ls -l as -rw-r--r--
  • в PuTTY, под SSH > Auth, установите "закрытый ключ для аутентификации" на закрытый ключ, сгенерированный ранее.
  • подключение к порту 22 как user@<local_ip>... succees.
  • подключение к порту 22 как user@<public_ip>... Server refused our key.

в качестве бонуса, tailing /var/log/auth.log дает мне ничего, когда ключ отказался. При локальном подключении он печатает Accepted publickey line.

наконец, и я не уверен, что это актуально, но попытка соединиться с SFTP с FileZilla на публичном IP дает мне эту ошибку:

Error:  The first key-exchange algorithm supported by the server is diffie-hellman-group1-sha1, which is no longer secure. Aborting connection.
Error:  Could not connect to server

сказать, что я промежуточный пользователь Linux, было бы натяжкой, поэтому, возможно, я что-то упускаю. Надеюсь, я прояснил свою проблему. Ценю любую помощь!


редактировать: выход из SSH-пакетов PuTTY и необработанных данных (в основном мусор, поэтому я нашел, что он читается человеком):

Event Log: Looking up host "<omitted>"
Event Log: Connecting to <omitted> port 22
Event Log: We claim version: SSH-2.0-PuTTY_Release_0.67
Event Log: Server version: SSH-2.0-dropbear_0.46
Event Log: We believe remote version has SSH-2 channel request bug
Event Log: Using SSH protocol version 2
Event Log: Using Diffie-Hellman with standard group "group1"
Event Log: Doing Diffie-Hellman key exchange with hash SHA-1
Event Log: Host key fingerprint is:
Event Log: ssh-rsa 1040 <omitted>
Outgoing packet #0x2, type 21 / 0x15 (SSH2_MSG_NEWKEYS)
Event Log: Initialised triple-DES CBC client->server encryption
Event Log: Initialised HMAC-SHA1 client->server MAC algorithm
Incoming packet #0x2, type 21 / 0x15 (SSH2_MSG_NEWKEYS)
Event Log: Initialised triple-DES CBC server->client encryption
Event Log: Initialised HMAC-SHA1 server->client MAC algorithm
Incoming packet #0x4, type 51 / 0x33 (SSH2_MSG_USERAUTH_FAILURE)
  00000000  00 00 00 12 70 75 62 6c 69 63 6b 65 79 2c 70 61  ....publickey,pa
  00000010  73 73 77 6f 72 64 00                             ssword.
Event Log: Server refused our key
28
задан Magnus Bull
26.03.2023 7:04 Количество просмотров материала 3041
Распечатать страницу

1 ответ

эта линия заставляет меня подозревать, что вы на самом деле подключаетесь к маршрутизатору или модему при подключении к порту 22 на вашем публичном IP.

Event Log: Server version: SSH-2.0-dropbear_0.46

Если вы подключаетесь с помощью внутреннего IP, вы получаете ту же строку версии сервера? Если нет, вам, вероятно, нужно отключить SSH на модеме и / или маршрутизаторе и настроить переадресацию портов (если еще не сделано) для порта 22 на внутренний IP-адрес вашего Linux-сервера.

Если вы не можете отключить SSH на вашем модеме / маршрутизаторе, вы можете попробовать перенаправление портов другой порт (например, 2222) на порт 22 на сервере Linux.

0
отвечен Omnipresence 2023-03-27 14:52

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх