
SSH 포트 번호를 22에서 2222로 변경했습니다. 기본 SSH 포트 22에 대한 이전 설정 연결은 괜찮습니다. 라우터의 NAT를 올바르게 매핑했습니다.
내가 디버깅하려고 하면
ssh -v -p2222 www.example.com
이 오류가 발생합니다.
debug1: SSH2_MSG_KEXINIT
아래는 모든 디버그 로그입니다.
bob@server:~$ ssh -v -p2222 www.example.com
OpenSSH_4.7p1 Debian-8ubuntu1.2, OpenSSL 0.9.8g 19 Oct 2007
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to www.example.com [100.100.100.100] port 2222.
debug1: Connection established.
debug1: identity file /home/bob/.ssh/identity type -1
debug1: identity file /home/bob/.ssh/id_rsa type -1
debug1: identity file /home/bob/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_4.7p1 Debian-8ubuntu1.2
debug1: match: OpenSSH_4.7p1 Debian-8ubuntu1.2 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_4.7p1 Debian-8ubuntu1.2
debug1: SSH2_MSG_KEXINIT sent
Connection closed by 100.100.100.100
해당 연결이 닫히는 것처럼 네트워크 내부 및 외부의 몇 컴퓨터에서 gnome-terminal, putty, securecrt를 사용했지만 여전히 모두 동일한 오류가 발생합니다.
답변1
방금 XEN 호스트에서 이런 일이 일어났습니다. 나는 이 호스트를 다른 호스트에서 복제했고, 일반적인 관행처럼 이 작업을 수행한 후 /etc/ssh에서 호스트 키를 삭제했습니다. 나중에 새로운 호스트 키가 생성될 것이라고 생각했습니다. 그러나 이런 일은 결코 일어나지 않았고 sshd는 호스트 키 없이 행복하게 시작되었습니다. 이 호스트에 SSH를 시도하면 SSH2_MSG_KEXINIT 이후에 중단됩니다. 내가 해야 할 일은 호스트 키를 만드는 것뿐이었습니다. 데비안 기반 컴퓨터에서는 다음과 같은 방식으로 수행됩니다.
dpkg-reconfigure openssh-server
답변2
이 문제가 있었고 대상 라우터/방화벽 및 대상 호스트의 MTU를 소스 호스트(1500)와 동일하게 설정하여 해결했습니다.
답변3
나도 같은 문제가 있었는데, sshd_config에서 포트를 변경하고 sshd 서비스를 다시 시작했을 때 sshd가 혼란스러워졌습니다. 마침내 서버 로그를 보았을 때(할 수 없는 것처럼 보임) sshd가 이미 포트에 대해 불평하고 있었습니다. 사용, netstat가 동의했고 ps는 실행 중인 sshd 서비스의 여러 인스턴스를 보여주었습니다. 나는 그것들을 죽이고 sshd 백업을 다시 시작했고 연결할 수있었습니다. 문제를 해결하기 위해 재부팅을 시도했지만 그렇지 않은 것 같습니다. 그렇게 하면 문제가 해결되었을 것이기 때문입니다.
간단히 말해서, 사용자를 인증하기 위해 포트 2222에서 수신 대기해야 하는 sshd는 실제로 수신 대기 중인 SSHD가 아니라 다른 SSHD 프로세스입니다. 나와 같은 문제가 있다면.
답변4
SSH2_MSG_KEXINIT는 오류가 아닙니다. SSH 키 교환 프로세스가 시작되고 있음을 알려주는 것뿐입니다.
상대방이 그 시점에서 연결을 닫는다면 어떤 이유로든 당신을 좋아하지 않는 것 같습니다. :-) 원격 측의 로그에는 연결이 갑자기 종료되는 이유에 대한 정보가 있을 수 있습니다. (예: tcpwrappers)