“ssh_exchange_identification : 읽기 : 피어에 의한 연결 재설정”오류를 수정하는 방법?


21

컴퓨터를 사용하여 ssh를 통해 서버에 연결할 수 없지만 termius 앱을 사용하여 휴대 전화를 통해이 서버에 연결할 수 있습니다. 확인 /etc/hosts.allow하고 /etc/hosts.deny내 iptables를 확인 했으며 다른 방법으로 Google을 검색했지만이 문제에 맞는 답변이없는 것 같습니다. 나는 그것을 해결하는 방법을 모른다, 여기에 ssh -v 183.17.228.80출력이있다

debug1: Connecting to 183.17.228.80 [183.17.228.80] port 22.
debug1: Connection established.=======================   
debug1: permanently_set_uid: 0/0   
debug1: SELinux support disabled  
debug1: key_load_public: No such file or directory    
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.2p2 Ubuntu-4ubuntu2.2   
ssh_exchange_identification: read: Connection reset by peer

이 서버를 핑 (ping) 할 수 있습니다. 여기는 텔넷입니다.

telnet 183.17.228.29 22  
Trying 183.17.228.29...  
Connected to 183.17.228.29.  
Escape character is '^]'.                                                                 
Connection closed by foreign host.

DenyHosts가 설치되어 있는지 확인하려면 DenyHosts에 자체 허용 및 거부 호스트 파일이 있습니다.
Robby1212

PC에서 실행중인 소프트웨어가 모든 SSH 암호화 모드와 호환되는지 확인 하시겠습니까?
Tharaka Devinda

앞에서 언급했듯이 DenyHosts가 아닌 호스트 파일을 확인했습니다.
user3054879

나는 확실히, 어쩌면 encrytion 알고리즘은 달랐다 아니지만, 내 클라이언트는 퍼티했다 .... 그러나 나는 IOS에 말단하여 동일한 서버에 ssh를 수
user3054879

키 파일의 경로에서 다음과 같이 연결한다고 가정합니다 root. 이것은 일반적으로 사용되지 않습니다. sshd 구성을보십시오. ssh -vvv더 많은 정보를 제공 할 수 있습니다.
ridgy

답변:


14

그냥 서버 재부팅 SSH를하고 싶다. 이전에는 같은 문제가 발생했습니다.


1
근본 원인을 찾을 수 없지만 재부팅하면 효과가 있습니다.
Raghavendra N

2
AWS의 무료 서버로 ssh 할 때도 같은 문제가 발생했습니다. 서버의 메모리가 소진 되었기 때문입니다. 재부팅이 작동합니다.
레온

@thistleknot, 재부팅은 저에게 효과적이며 쉬운 빠른 수정입니다. 그것에 대해 끔찍한 것은 없습니다. 실제로 문제의 원인을 알지 못했지만 재부팅하면 문제가 해결되었습니다.
CousinCocaine

재부팅해도 제대로 작동하면 구성 문제가 아니라 리소스 문제 일 수 있습니다. 아마도 ssh의 우선 순위를 높이면 트릭을 수행했을 수 있습니다.
JohnRos

1
재부팅 서버는 매우 나쁜 제안입니다.
Hossein Vatani

8

이는 실제로 IP가 서버에 의해 블랙리스트에 있음을 의미합니다. 로그인 할 수 있도록 IP 주소를 허용 목록에 추가하십시오. / etc / hosts 목록을보고 서버의 IP 주소가 변경되었는지 확인할 수 있습니다.


7
반드시 그런 것은 아닙니다.
sempaiscuba

2
이것은 나에게 맞는 것처럼 보였다. Cloudways 서버가 내 홈 IP를 블랙리스트에 올렸다는 것을 알았으며 수동으로 화이트리스트를 작성해야했습니다.
Ryan

몇 시간 후에 문제가 사라졌습니다. 왜 그런지 모르겠지만 다시 시작할 필요는 없었습니다.
Salem F

"Cloudways 서버가 내 홈 IP를 블랙리스트에 올렸습니다"라는 의견에 감사드립니다. 이것은 우리에게 일어난 일입니다. 수동으로 화이트리스트에 올랐습니다.
Jules Matthews

1

위의 오류는 서버 인증 실패 시도가 제한되어 있고 클라이언트에 너무 많은 ssh 키가있는 경우 발생합니다 (MaxAuthTries 값 이상).

시도 할 수있는 것은 MaxAuthTries의 값을 늘리고 sshd 데몬을 다시 시작하는 것입니다. 또는 ~/.ssh디렉토리 의 키 수를 제한하고 하위 디렉토리와 ~/.ssh/config파일을 사용하여 호스트 / 호스트 그룹당 키를 정의 할 수 있습니다.


나는이 시도했지만 실패, 나는 거의 내가 인터넷에서 찾을 수있는 모든 방법을 시도 사실, 나는 키가 암호화 negeotiation 알고리즘 였는데, 나는 그것을 해결하지 않는 방법을 수행 한
user3054879

2
무엇을 시도 했습니까? 질문을 업데이트하십시오
Romeo Ninov

1

문제를 해결하는 방법은 호스트 컴퓨터로 가서 몇 가지 명령을 실행하는 것입니다.

sudo mkdir /var/run/sshd
sudo chmod 755 -R /var/run/sshd
sudo service ssh restart

그 후 기계에 연결되었습니다.


1

나는 똑같은 일이 있었고 ssh -v 'ip addr'이 필요했고 인증서를 수락해야한다는 것을 알았습니다. ACL 또는 경로 규칙 차단 퍼티 일 수도 있습니다. 예-

퍼티 클라이언트에는 엔터프라이즈 네트워크가 DMZ 호스트와 통신하는 것을 차단하는 방화벽이있는 10.xxx 주소가 있지만, 공개 IP 주소가 도달하려는 dmz 호스트와 통신 할 수있는 모든 58.xxx 휴대 전화는 있습니다.

다시 연결하려고 할 때 ssh -v 정보를보고 정보를 수집 할 수 있는지 확인한 다음 방화벽이 아닌 라우터 수준에서 서버에 도달하지 못하게하는 규칙이 있는지 확인하십시오. 서버 자체의 denyhosts 파일


0

콘솔이 작동하지 않는 동안 셀룰러 핫스팟을 사용하여 웹에 연결하고 더 이상 연결할 수 없습니다. ssh_exchange_identification: read: Connection reset by peer

SRV를 재설정하려고했지만 도움이되지 않았습니다.

네트워크 연결을 변경 한 경우에만 (다른 셀룰러의 핫스팟으로) 다시 연결할 수 있습니다.

참고 : 이전 연결을 사용하여 다른 AWS의 SRV에 연결할 수 있습니다.


0

이 문제를 해결하려면 다음을 수행하십시오.

  1. 서버 온라인 터미널에서 서버를 재부팅하십시오.

이것이 작동하지 않으면

  1. 파일 편집 $HOME/.ssh/known_hosts
  2. 이 파일 내의 내용을 삭제하십시오. ssh가 서버에 다시 연결하면 연결을 다시 수락해야합니다.

1
을 완전히 삭제하려면 -1입니다 known_hosts. 문제가되는이 특정 호스트를 편집하는 것이 좋습니다 (여기는 도움이 될 것입니다).
David Foerster


0

많은 이유가있을 수 있지만 가장 가능한 이유 중 하나는 (내 경우에는) ssh / port 22가 방화벽에 의해 허용되지 않을 수 있습니다.

사용자 인터페이스로 ssh 연결을 허용하거나 (일부 제공 업체에서 허용) 다른 방법으로 로그인하는 경우 (예 : digitalocean은 콘솔 버튼 제공) 아래 명령을 실행할 수 있습니다

sudo ufw allow ssh
sudo ufw allow 22

0

서버의 ssh 데몬이 정지 된 것 같습니다. 실행 중입니까? telnet을 ssh에 연결하면 서명이 표시되어야합니다. 다음과 같은 것 :

telnet unixhow.com 22
Trying 35.228.26.20...
Connected to unixhow.com.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.1

내가 당신의 출력에서 ​​보는 것은 서버 측에서 응답하지 않는 ssh 데몬입니다. IP-KVM을 통해 (또는 다른 방법으로) 원격 시스템에 연결하고 sshd를 다시 시작하는 것이 좋습니다.


0

우분투에서 openssh 서버가 실행되고 있지 않기 때문일 수 있습니다. 아래 명령을 실행하여 openssh 서버의 상태를 확인할 수 있습니다.

ubuntu@ubuntu:~$ sudo systemctl status ssh
● ssh.service - OpenBSD Secure Shell server
   Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-03-20 11:52:16 GMT; 5min ago
  Process: 1034 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
 Main PID: 1058 (sshd)
    Tasks: 1
   Memory: 5.1M
      CPU: 122ms
   CGroup: /system.slice/ssh.service
           └─1058 /usr/sbin/sshd -D

Mar 20 11:52:15 ubuntu systemd[1]: Starting OpenBSD Secure Shell server...
Mar 20 11:52:16 ubuntu sshd[1058]: Server listening on 0.0.0.0 port 22.
Mar 20 11:52:16 ubuntu sshd[1058]: Server listening on :: port 22.
Mar 20 11:52:16 ubuntu systemd[1]: Started OpenBSD Secure Shell server.
Mar 20 11:52:24 ubuntu sshd[1131]: Connection closed by 10.0.2.2 port 60566 [preauth]
Mar 20 11:53:59 ubuntu sshd[1135]: Accepted password for ubuntu from 10.0.2.2 port 60654 ssh2
Mar 20 11:53:59 ubuntu sshd[1135]: pam_unix(sshd:session): session opened for user ubuntu by (uid=0)
Mar 20 11:57:48 ubuntu sshd[1238]: Accepted password for ubuntu from 10.0.2.2 port 61124 ssh2
Mar 20 11:57:48 ubuntu sshd[1238]: pam_unix(sshd:session): session opened for user ubuntu by (uid=0)

상태가 아닌 active (running)경우 openssh-server를 설치 및 / 또는 시작할 수 있습니다. 아래 표시된 명령으로 수행 할 수 있습니다.

sudo apt update
sudo apt install openssh-server

0

나는 같은 문제가 있었지만 sshd 데몬을 다시 시작한 후 호스트에 연결할 수있었습니다.

sudo systemctl restart sshd && systemctl status sshd

이것은 MaxAuthTries 매개 변수를 증가시킬 때까지 일시적인 해결책입니다.


0

내 솔루션은 내 로컬 IP 주소를 다음에 추가하는 것입니다 /etc/hosts.allow.

sshd:192.168.10.88:allow

이것은 나를 위해 작동합니다.


-2
  1. 서버의 설치 ​​및 실행에 sshd가 있는지 확인하십시오.
  2. 데몬이 설치되고 시작되었는지 확인하십시오. 'man sshd'가 가능해야합니다. 패키지가 open-ssl이라고 생각하고 데몬을 시작해야합니다 (필요하지 않은 경우 중지).

물론 내가 언급 한 바와 같이, 내가 아이폰에 말단하여 동일한 서버에 ssh를 할 수 SSHD를 설치 한 ...하지만 퍼티 실패
user3054879을
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.