соединению SSH отказывают

Привет у меня есть проблема с моим ssh, который волшебно останавливается, работая, и я не мог выяснить почему. Сообщение, которое это дает:

ssh: connect to host <host> port 22: Connection refused

Я не вижу сообщений об ошибках, когда я пишу dmesg но я становлюсь следующим telnet localhost 22

Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused

Я попробовал решения, которые я видел в некоторых подобных случаях [1] и [2], но это все еще не решило мою проблему, которая записи и выводы следующие:

>> sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT
>> sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  

Обратите внимание, что это было, уже ПРИЗНАЮТ, что я не сделал имел любую проблему даже прежде, чем ввести команду sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT. Я также пытался перезагрузить ssh, но он ничего не изменил

>>netstat -a | egrep 'Proto|LISTEN'
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 localhost:20128         *:*                     LISTEN     
tcp        0      0 localhost:17600         *:*                     LISTEN     
tcp        0      0 localhost:20129         *:*                     LISTEN     
tcp        0      0 localhost:17603         *:*                     LISTEN     
tcp        0      0 localhost:21128         *:*                     LISTEN     
tcp        0      0 deathstar:domain        *:*                     LISTEN     
tcp        0      0 localhost:ipp           *:*                     LISTEN     
tcp        0      0 *:db-lsp                *:*                     LISTEN     
tcp6       0      0 ip6-localhost:ipp       [::]:*                  LISTEN     
tcp6       0      0 [::]:db-lsp             [::]:*                  LISTEN 

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

Отдых добавляется после комментария @Ashu

sudo lsof -i | grep ssh

ничего не произошло

>>netstat -l --numeric-ports | grep 22
unix  2      [ ACC ]     STREAM     LISTENING     1618183  @jack-com.canonical.Unity.Master.Scope.files.T1731348652205882

>>sudo iptables --list
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 

Eddited после комментария @TheSchwa

>>ps aux | grep sshd
jack      3711  0.0  0.0  15944  2220 pts/26   S+   14:08   0:00 grep --color=auto sshd
3
задан 23 May 2017 в 05:39

7 ответов

Я сначала пытался удалить и переустановить ssh, но он не работал на меня затем, я пытался произвести чистку его:

sudo apt-get purge openssh-server
sudo apt-get install openssh-server

поэтому теперь его работа.

15
ответ дан 17 November 2019 в 09:08

Ошибочное соединение "TCP, которому отказывают", означает, что существует хост, активный на этом IP-адресе, но порт, с которым Вы пытались соединиться (22 для ssh) не открыт.

, В первую очередь, проверяют дважды Ваше имя хоста и/или IP-адрес.

наиболее вероятная причина, или кто-то остановил ssh демона, или кто-то настроил ее для использования альтернативного порта вместо значения по умолчанию 22.

, Если у Вас есть физический доступ к Вашему входу в систему сервера того сервера и типа в команде sudo netstat -tupan. Идеально необходимо видеть строку как:

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1053/sshd

, Если Вы не пытаетесь запустить sshd и/или проверить, настроен ли он для слушания на порте 22.

РЕДАКТИРОВАНИЕ

биты, чтобы сфокусироваться на:

:22 - порт 22

LISTEN - существует процесс рабочие и ожидающие входящие соединения на порте 22

sshd - название процесса.

, Если Вы не видите строку как этот затем, возможно, Ваш ssh сервер плохо настроен и не удается запуститься. Попробуйте эта страница за инструкции, как выполнить ее на переднем плане и диагностировать ее.

5
ответ дан 17 November 2019 в 09:08

Соединение SSH, которому отказывают из-за следующей причины -

  1. порт по умолчанию (22), было изменено на что-то другие. Проверьте свой/etc/ssh/sshd_config файл на любое изменение в порте.

  2. конфликт IP на LAN. Используйте команду изнасилования для определения любого конфликта. посмотрите свой пул DHCP.

  3. ssh порт не позволяется на ip-tables/firewall. Проверьте свой iptables/firewall и позвольте.

*Uninstall/Reinstall ssh пакет не является хорошей идеей, потому что это изменит многих ключ и передача.

2
ответ дан 17 November 2019 в 09:08

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

у Вас должен быть sshd (ssh демон) установленный, и выполнение...

https://help.ubuntu.com/community/SSH/OpenSSH/Configuring

2
ответ дан 17 November 2019 в 09:08

Одной из наиболее распространенной проблемы, вызывающей это, являются sshd сервисы само. Вы проверяли, работает ли это на самом деле? Кроме того, я заметил, что Вы непосредственно редактируете свой iptables, поэтому если бы у Вас был ufw/firewalld, работающий - то мог бы также проверить его.

Также удостоверяются, что ssh сервер выполняет правильный IP, и FQDN направляет к правильному IP-адресу.

1
ответ дан 17 November 2019 в 09:08

Необходимо создать недостающий каталог как это

mkdir /var/run/sshd
chmod 0755 /var/run/sshd

, Затем запускают неисправный shh сервер с:

service ssh start

И вот именно!

0
ответ дан 17 November 2019 в 09:08

У меня это было, потому что я не sudo ufw allow ssh У меня было просто sudo ufw allow 22 , чего было недостаточно

[root@fakeser ~]# ufw status
Status: active

To                         Action      From
--                         ------      ----
22 on eth1                 ALLOW       Anywhere        
Nginx HTTP                 ALLOW       Anywhere        
Nginx HTTPS                ALLOW       Anywhere        
22 (v6) on eth1            ALLOW       Anywhere (v6)   
Nginx HTTP (v6)            ALLOW       Anywhere (v6)   
Nginx HTTPS (v6)           ALLOW       Anywhere (v6)   

ВЫШЕ НЕ РАБОТАЕТ

НИЖЕ РАБОТАЕТ

[root@fakeser ~]# ufw allow ssh
Rule added
Rule added (v6)
[root@fakeser ~]# ufw status
Status: active

To                         Action      From
--                         ------      ----
22 on eth1                 ALLOW       Anywhere        
Nginx HTTP                 ALLOW       Anywhere        
Nginx HTTPS                ALLOW       Anywhere        
22/tcp                     ALLOW       Anywhere        
22 (v6) on eth1            ALLOW       Anywhere (v6)   
Nginx HTTP (v6)            ALLOW       Anywhere (v6)   
Nginx HTTPS (v6)           ALLOW       Anywhere (v6)   
22/tcp (v6)                ALLOW       Anywhere (v6)   
1
ответ дан 4 February 2020 в 21:03

Другие вопросы по тегам:

Похожие вопросы: