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.