SSH 연결 오류 : ssh_exchange_identification : 읽기 : 피어에 의한 연결 재설정


25

SSH를 통해 서버에 연결하려고 할 때 다음 오류가 발생합니다.

[root@oneeighty ~]# ssh -vvv -p 443 root@xxx.xxx.xxx
OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to xxx.xxx.xxx [IP] port 443.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/identity type -1
debug1: identity file /root/.ssh/id_rsa type -1
debug1: identity file /root/.ssh/id_dsa type -1
debug1: loaded 3 keys
ssh_exchange_identification: read: Connection reset by peer

서버 및 클라이언트에서 SSH 구성을 확인했으며 문제가 없습니다.

서버에서 SSH 서비스를 다시 시작한 다음 서버 / 클라이언트를 다시 시작했지만 문제가 해결되지 않았습니다.


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

답변:


26

이것은 많은 것들의 결과 일 수 있습니다.

빠르게 시도 할 수있는 것은 다음과 같습니다.

  • /etc/hosts.deny에서 다음과 같은 항목을 찾으십시오. sshd: ALL
  • 아마도 다음에 추가하십시오 sshd: ALL./etc/hosts.allow

  • SSHD의 HostKeys가 손상되었을 수 있습니다. 그것들은 / etc / ssh / 디렉토리에 있습니다. 당신은 그들을 삭제하고 sshd를 다시 시작할 수 있으며 다시 생성해야합니다. 오류가 발생하면 다음 명령을 사용하십시오

    $ ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
    $ ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
    $ ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
    $ /etc/init.d/sshd start
    

/etc/hosts.deny 파일 및 /etc/hosts.allow에서 모든 행이 주석 처리됩니다.
Senthil G

1
sshd: ALL도움이되는지 확인하려면 hosts.deny에 추가 하십시오.
vagarwal

2

디버그의 다음 줄은 다음과 같아야합니다.

debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3p1 Debian-3ubuntu7

StackOverflow에서 외부 IP 주소의 NAT / 포트 전달을 사용하고 있음을 확인했습니다. 또한 로컬 상자에서 자체 상자로 ssh 할 수 있음을 확인했습니다. 포트 443에 로컬로 sshing하면 포트 맵핑이 작동하는지 확인해야합니다.

시험:

  1. 동일한 서브넷의 다른 상자에서 SSH
  2. iptables -L포트 443이 열려 있거나 입력 및 출력이 ACCEPT로 설정되어 있는지 확인하고 실행하십시오
  3. 실행 tcpdump -A -s 0 port 443한 다음 외부 IP로 sshing을 시도 하십시오 . 라우터의 소스 주소와 함께 데이터가 도착하는 것을 볼 수 있습니다

2

FWIW, 저는 AWS에서 Ubuntu 14.04를 실행하고 있습니다. 이 문제는 Java 웹 클라이언트를 통한 SSHing 및 실행으로 해결되었습니다 sudo service apache2 start. 방금 웹 사이트를 백업하고 싶었지만 SSH 액세스도 수정했습니다. 왜 그런지 모르겠지만 불평하지 않습니다.


여기에 같은 문제가 있습니다. 내 세션이 아무런 이유없이 응답하지 않았으며 퍼티를 통해 다시 연결할 수 없었습니다. 웹 클라이언트를 사용하면 퍼티를 통한 연결이 다시 작동하도록 마법을 사용했습니다.
AndrewK

고마워요, 방법은 모르겠지만 실제로 도움이되었습니다. *** aws
Siarhey Uchukhlebau

1

연결하려는 서버의 allowed.hosts 및 실행중인 iptables 규칙을 확인하십시오.


1

문제가 해결되었습니다.
문제는 네트워크에있는로드 밸런서에 있습니다. 로드 밸런서를 다시 시작하면 문제가 해결됩니다.


1

갑자기 VM에 대한 ssh 액세스가 동일한 메시지로 거부되어 오늘 비슷한 문제가 발생했습니다. ssh -v (클라이언트)와 sshd -d (서버)는별로 도움이되지 않았습니다. 필자의 경우 문제는 LAMP 스택 사용 데모를 위해 방화벽 / IP 설정이 변경되어 시작되었습니다.

방화벽 을 활성화하기 위해 system-config-firewall-tui 를 사용했으며 httpd를 제외한 다른 모든 서비스를 차단 한 httpd 만 선택했습니다.

이에 대한 해결책으로 sshd 에 대한 권한을 추가하십시오.

  • iptable conf 설정 업데이트 또는
  • system-config-firewall-tui에서 sshd 선택 또는
  • 방화벽 비활성화 또는
  • iptable 서비스 중지 (rhel6, chkconfig에서 제거) service iptables stop

ssh는 이제 완벽하게 작동합니다!


0

나를 위해 / etc / hosts 파일에서 sshd 연결을 허용합니다.

vi /etc/hosts.allow
and add 

sshd: ALL

0

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

sudo mkdir / var / run / sshd

sudo chmod 755 -R / var / run / sshd

sudo 서비스 ssh 재시작

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


-3

첫 번째 openssh- * 제거 (openssh-server 및 openssh-client)

apt-get --purge remove openssh-*

/home/username/.ssh 디렉토리 제거

rm -rf /home/username/.ssh 

그런 다음 openssh-server 및 openssh-client를 설치하십시오.

apt-get install openssh-server openssh-client

3
아니, 닫히지 않아도 OP의 답변 에 문제가 무엇인지 나와 있습니다. 대답은 apt를 사용하는 배포판에만 해당되며 OP는 RHEL을 사용했습니다. 패키지를 제거하고 다시 설치하는 것이 해결책이 아닙니다.
user9517은 GoFundMonica를 지원합니다.

로컬 또는 원격 서버에서이 모든 작업을 수행 했습니까?
Jonathan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.