Назад | Перейти на главную страницу

Сброс / закрытие соединения сервером после отправки SSH2_MSG_KEXINIT в SSH

Я перезапустил свой сервер Fedora 25, так как не перезагружал его в течение 3 дней (единственные 2 вещи, которые я установил, были JRE и screen), и заметил, что SSH перестал работать. Иногда соединение сбрасывается, иногда закрывается.

sh-3.2# ssh root@192.168.1.127
Connection reset by 192.168.1.127

Я не знаю, как просматривать свои журналы, поскольку теперь у меня больше нет доступа к ssh, но это то, что выводится, если я использую ssh -vvv (я не уверен, что OS X El Capitan выводит столько же, сколько Linux)

sh-3.2# ssh -vvv root@192.168.1.127
OpenSSH_6.9p1, LibreSSL 2.1.8
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 21: Applying options for *
debug1: /etc/ssh/ssh_config line 56: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 192.168.1.127 [192.168.1.127] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.9
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.4
debug1: match: OpenSSH_7.4 pat OpenSSH* compat 0x04000000
debug2: fd 3 setting O_NONBLOCK
debug1: Authenticating to 192.168.1.127:22 as 'root'
debug3: hostkeys_foreach: reading file "/var/root/.ssh/known_hosts"
debug1: SSH2_MSG_KEXINIT sent
Connection reset by 192.168.1.127
sh-3.2#

Обычно я подключаюсь с помощью открытого ключа, но его использование не меняет вывод, приведенный выше. Nginx по-прежнему полностью работает вместе с Cockpit, с точки зрения сети ничего не изменилось. Если я попытаюсь подключить свой сервер к самому себе по SSH, то снова ничего не изменится. (Я знаю, что всегда использовать root небезопасно, но все остальное я пробовал)

[root@localhost ~]# ssh -vvvv localhost                                         
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017                                 
debug1: Reading configuration data /etc/ssh/ssh_config                          
debug3: /etc/ssh/ssh_config line 56: Including file /etc/ssh/ssh_config.d/05-red
hat.conf depth 0                                                                
debug1: Reading configuration data /etc/ssh/ssh_config.d/05-redhat.conf         
debug1: /etc/ssh/ssh_config.d/05-redhat.conf line 2: include /etc/crypto-policie
s/back-ends/openssh.config matched no files                                     
debug1: /etc/ssh/ssh_config.d/05-redhat.conf line 8: Applying options for *     
debug2: resolving "localhost" port 22                                           
debug2: ssh_connect_direct: needpriv 0                                          
debug1: Connecting to localhost [::1] port 22.                                  
debug1: Connection established.                                                 
debug1: permanently_set_uid: 0/0                                                
debug1: identity file /root/.ssh/id_rsa type 1                                  
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_rsa-cert type -1                            
debug1: key_load_public: No such file or directory                              
debug1: identity file /root/.ssh/id_dsa type -1                                 
debug1: key_load_public: No such file or directory                              
debug1: identity file /root/.ssh/id_dsa-cert type -1                            
debug1: key_load_public: No such file or directory                              
debug1: identity file /root/.ssh/id_ecdsa type -1                               
debug1: key_load_public: No such file or directory                              
debug1: identity file /root/.ssh/id_ecdsa-cert type -1                          
debug1: key_load_public: No such file or directory                              
debug1: identity file /root/.ssh/id_ed25519 type -1                             
debug1: key_load_public: No such file or directory                              
debug1: identity file /root/.ssh/id_ed25519-cert type -1                        
debug1: Enabling compatibility mode for protocol 2.0                            
debug1: Local version string SSH-2.0-OpenSSH_7.4                                
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.4        
debug1: match: OpenSSH_7.4 pat OpenSSH* compat 0x04000000                       
debug2: fd 3 setting O_NONBLOCK                                                 
debug1: Authenticating to localhost:22 as 'root'                                
debug3: hostkeys_foreach: reading file "/root/.ssh/known_hosts"                 
debug3: send packet: type 20                                                    
debug1: SSH2_MSG_KEXINIT sent                                                   
Connection reset by ::1 port 22                                                 
[root@localhost ~]# ^C                                         

Кроме того, никакие другие устройства в моей сети не могут подключиться. Я не пробовал PuTTY, однако Cyberduck просто сообщает мне, что "recv failed". Я заметил, что соединение всегда сбрасывается после отправки «SSH2_MSG_KEXINIT», но я не знаю, что это такое.

Вот и моя конфигурация ssh, все они прокомментированы:

[root@localhost ~]# cat /etc/ssh/ssh_config                                     
#       $OpenBSD: ssh_config,v 1.30 2016/02/20 23:06:23 sobrado Exp $                                                              

# Host *                                                                        
#   ForwardAgent no                                                             
#   ForwardX11 no                                                               
#   RhostsRSAAuthentication no                                                  
#   ConnectTimeout 0                                                            
#   StrictHostKeyChecking ask                                                   
#   IdentityFile ~/.ssh/identity                                                
#   IdentityFile ~/.ssh/id_rsa                                                  
#   IdentityFile ~/.ssh/id_dsa                                                  
#   IdentityFile ~/.ssh/id_ecdsa                                                
#   IdentityFile ~/.ssh/id_ed25519                                              
#   Port 22                                                                     
#   Protocol 2                                                                  
#   Cipher 3des                                                                 
#   Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3d
es-cbc                                                                          
#   MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160                  
#   EscapeChar ~                                                                
#   Tunnel no                                                                   
#   TunnelDevice any:any                                                        
#   PermitLocalCommand no                                                       
#   VisualHostKey no                                                            
#   ProxyCommand ssh -q -W %h:%p gateway.example.com                            
#   RekeyLimit 1G 1h                                                            
#                                                                               
# To modify the system-wide ssh configuration, create a  *.conf  file under     
#  /etc/ssh/ssh_config.d/  which will be automatically included below           
Include /etc/ssh/ssh_config.d/*.conf   

Я пробовал dnf переустановить openssh-server, и это ничего не изменило. Я ни в чем не уверен, но, как я уже сказал, я не уверен, как просматривать файлы журналов OpenSSH (вообще? Правильно ли я насчет наличия журналов?) В Fedora 25. Было бы неплохо, если бы это можно было исправить. так как это мешало мне работать 4 часа. Спасибо.

Хорошо. Итак, перезапуск sshd через systemctl restart sshd не сработало. Однако мне предложили использовать # /sbin/sshd для запуска OpenSSH. Это на удивление сработало, и все работало, как и до перезапуска. Я не понимаю почему. Возможно проблема с разрешениями. Я не знаю точно, но ошибка «Сброс соединения одноранговым узлом» кажется одной из самых сложных для отладки.