Я изменил свой порт SSH по умолчанию на моем домашнем сервере (в /etc/ssh/sshd_config
файле) к порту 54747, а затем перезапущен ssh
и sshd
услуги (никогда не уверен , какой из них, так что я сделал и просто , чтобы быть безопасным). Чтобы проверить мою конфигурацию, я вышел из системы и снова вернулся в нее без проблем.
Пару дней спустя я установил apt-обновления, а затем перезагрузил свой сервер. Когда я попытался снова войти в SSH (через порт 54747), я получил ошибку отказа в соединении.
По какой-то причине я попытался использовать SSH для порта по умолчанию, и это сработало! Я вернулся, чтобы проверить sshd_config, но он все еще имел собственный порт. Поэтому я возобновил ssh
и sshd
услуги, и вернулся к «регулярному» поведению (SSH на порт 54747). Я попытался перезагрузиться снова, и соединение снова отказалось ...
Кто-нибудь знает, что я сделал не так?
Дополнительные детали:
- Ubuntu 16.04.2 LTS
- Сервер также используется HTPC, с открытым сеансом (тот же пользователь, что и SSH) на моем телевизоре
- Я использую SSH, используя ключ RSA на моем ноутбуке, и отключил проверку пароля
- Я имел обыкновение перезагружаться
sudo reboot -h now
, но после поиска я обнаружил, что некоторые люди не одобряют его, поэтому я попыталсяsudo reboot
, но без различий
РЕДАКТИРОВАТЬ Последовательность событий:
- Измените порт SSH с 22 на 54747 в
/etc/ssh/sshd_config
- Перезапустите службы ssh и sshd
- Завершить текущий сеанс SSH
- SSH успешно вернулся на порт 54747
- перезагрузка
- Ошибка соединения SSH на порту 54747, но успешно на порту 22
- Перезапустите службы ssh и sshd
- SSH успешно подключен к порту 54747, ошибка подключения к порту 22
- Перезагрузитесь и вернитесь к 6
РЕДАКТИРОВАТЬ 1: netstat
выход
rgo@ATLAS:~$ sudo netstat -lntp | grep :54747
rgo@ATLAS:~$ sudo netstat -lntp | grep :22
tcp6 0 0 :::22 :::* LISTEN 1/init
РЕДАКТИРОВАТЬ 2: service sshd status
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: inactive (dead)
РЕДАКТИРОВАТЬ 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
РЕДАКТИРОВАТЬ 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
.