“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.