Я змінив свій стандартний порт SSH на своєму домашньому сервері (у /etc/ssh/sshd_config
файлі) на порт 54747, потім перезапустив ssh
і sshd
служби (ніколи не впевнений, який з них я зробив як для того, щоб бути в безпеці). Щоб перевірити свою конфігурацію, я вийшов із системи та повернувся без проблем.
Через пару днів я встановив доречні оновлення, а потім перезавантажив свій сервер. Коли я спробував повернути SSH (на порт 54747), я отримав помилку підключення.
Чомусь я спробував SSH на порту за замовчуванням, і це спрацювало! Я повернувся, щоб перевірити sshd_config, але він все ще мав користувацький порт. Тому я перезапустив ssh
і sshd
сервіси, і він повернувся до "регулярної" поведінки (ssh на порт 54747). Я спробував перезавантажити знову, і з’єднання знову відмовилося ...
Хтось знає, що я зробив не так?
Додаткові дані:
- Ubuntu 16.04.2 LTS
- Сервер також використовує HTPC з відкритим сеансом (такий же користувач, як SSH) на моєму телевізорі
- Я SSH використовую ключ RSA мого ноутбука та відключив автентифікацію пароля
- Раніше я перезавантажувався
sudo reboot -h now
, але після пошуку я виявив, що деякі люди його відштовхують, тому я спробувавsudo reboot
, але відмінностей немає
EDIT Послідовність подій:
- Змініть порт SSH з 22 на 54747 дюйма
/etc/ssh/sshd_config
- Перезавантажте служби ssh та sshd
- Закінчити поточний сеанс SSH
- SSH успішно повернувся на порт 54747
- Перезавантажте
- Помилка підключення SSH на порт 54747, але успішна на порту 22
- Перезавантажте служби ssh та sshd
- SSH успішно повернувся на порт 54747, помилка підключення на порт 22
- Перезавантажте та поверніться до 6
EDIT 1: netstat
вихід
rgo@ATLAS:~$ sudo netstat -lntp | grep :54747
rgo@ATLAS:~$ sudo netstat -lntp | grep :22
tcp6 0 0 :::22 :::* LISTEN 1/init
EDIT 2: service sshd status
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: inactive (dead)
EDIT 3: lsof -i | grep ssh
systemd 1 root 46u IPv6 42724 0t0 TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)
systemd 1 root 49u IPv6 14641 0t0 TCP *:ssh (LISTEN)
sshd 4088 root 3u IPv6 42724 0t0 TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)
sshd 4088 root 4u IPv6 42724 0t0 TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)
sshd 4202 rgo 3u IPv6 42724 0t0 TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)
sshd 4202 rgo 4u IPv6 42724 0t0 TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)
Для довідки, ATLAS - це ім'я хоста віддаленого сервера, 192.168.1.27 - це локальна IP-адреса мого ноутбука, і команда виконувалася між кроками 6 та 7
ufw status
Status: inactive
EDIT 4: ps -ef |grep sshd
root 4088 1 0 22:40 ? 00:00:00 sshd: rgo [priv]
rgo 4202 4088 0 22:40 ? 00:00:00 sshd: rgo@pts/1 sshd
Port 10285
. Google показує пару результатів для 54747 ... (3) Також SSH-сервер може працювати з декількома портами одночасно. Створіть дві окремі директиви для кожного порту: Port 22
і Port 54747
, а потім відкрийте лише другий в брандмауер. (4) Ви можете спробувати Match LocalPort
директиву , розміщену на початку sshd_c
.