ssh를 사용하여 desktop1
(이미지의 빨간색 화살표)에서 (아래 이미지 참조)로 연결하는 데 문제가 있습니다 . server
항상 다음과 같이 말합니다.
ssh_exchange_identification: Connection closed by remote host
desktop1
에서 또는 으로 서버에 연결하는 데 문제가 없으며 에서 또는 으로 연결하는 데 desktop2
문제가 없으며 그 반대도 마찬가지입니다.desktop2
server
desktop1
desktop2
desktop1
다음과 같이 임시 sshd 서버를 생성하여 문제를 해결하려고 했습니다 .
[desktop1]# $(which sshd) -Ddddp 4000
다음에서 연결합니다 server
.
[server]# ssh -v -p 4000 root@desktop1
OpenSSH_7.1p2, OpenSSL 1.0.2g-fips 1 Mar 2016
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 56: Applying options for *
debug1: Executing proxy command: exec /usr/bin/sss_ssh_knownhostsproxy -p 4000 desktop1
debug1: permanently_set_uid: 0/0
debug1: permanently_drop_suid: 0
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: identity file /root/.ssh/id_dsa type 2
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.1
ssh_exchange_identification: Connection closed by remote host
#
이것은 작동하지 않습니다.
그러나 처음부터 desktop2
연결이 잘 작동합니다.
[desktop2]# ssh -v -p 4000 root@desktop1
OpenSSH_7.1p2, OpenSSL 1.0.2g-fips 1 Mar 2016
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 56: Applying options for *
debug1: Executing proxy command: exec /usr/bin/sss_ssh_knownhostsproxy -p 4000 desktop1
debug1: permanently_set_uid: 0/0
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client [email protected] <implicit> none
debug1: kex: client->server [email protected] <implicit> none
debug1: kex: [email protected] need=64 dh_need=64
debug1: kex: [email protected] need=64 dh_need=64
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
[...]
debug1: Sending environment.
debug1: Sending env LANG = en_US.UTF-8
Last login: Mon Mar 7 15:24:05 2016 from 10.0.21.200
Environment:
LANG=en_US.UTF-8
USER=root
LOGNAME=root
HOME=/root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
MAIL=/var/mail/root
SHELL=/bin/bash
SSH_CLIENT=10.0.21.200 39150 4000
SSH_CONNECTION=10.0.21.200 39150 10.0.21.204 4000
SSH_TTY=/dev/pts/1
TERM=xterm-256color
DISPLAY=localhost:11.0
Running /usr/bin/xauth remove unix:11.0
/usr/bin/xauth add unix:11.0 MIT-MAGIC-COOKIE-1 2843404fd74f1294efce8c6bb786fd75
위 파일과 동일합니다 /etc/ssh/sshd_config
.desktop1
desktop2
루트의 공개/개인 키는 server
, 및 에서 desktop1
동일합니다 desktop2
.
아래와 같이 3개 컴퓨터 모두에 권한이 있습니다.
# ll .ssh/
total 24
-rw------- 1 root root 1883 Nov 6 09:33 authorized_keys
-rw-------. 1 root root 668 Jan 26 2015 id_dsa
-rw-r--r--. 1 root root 620 Jan 26 2015 id_dsa.pub
-rw-------. 1 root root 887 Jan 26 2015 id_rsa
-rw-r--r--. 1 root root 240 Jan 26 2015 id_rsa.pub
-rw-r--r--. 1 root root 1893 Nov 5 10:31 known_hosts
Traceroute가 다음에서 두 개의 데스크톱을 찾았습니다 server
.
[server]# traceroute -T -p 22 desktop1
traceroute to desktop1 (10.0.21.204), 30 hops max, 60 byte packets
1 gateway (10.0.21.30) 0.704 ms 0.874 ms 1.041 ms
2 desktop1 (10.0.21.204) 0.325 ms 0.438 ms 0.407 m
[server]#
[server]# traceroute -T -p 22 desktop1
traceroute to desktop2 (10.0.21.200), 30 hops max, 60 byte packets
1 gateway (10.0.21.30) 0.847 ms 0.985 ms 1.158 ms
2 desktop2 (10.0.21.200) 0.286 ms 0.310 ms 0.314 ms
그렇다면 이 ID 교환 문제의 원인은 무엇일까요 ssh_exchange_identification: Connection closed by remote host
?
당신의 도움을 주셔서 감사합니다.
안녕하세요, 후지님.
답변1
문제는 다음으로 인해 발생할 수 있습니다.
debug1: Executing proxy command: exec /usr/bin/sss_ssh_knownhostsproxy -p 4000 desktop1
/etc/ssh/ssh_config를 편집하고 ProxyCommand 줄을 주석 처리합니다. FreeIPA에 클라이언트를 가입할 때 이런 문제가 발생했습니다.
답변2
이는 알려진 문제(아마도 kernel
)이며 다음과 같이 추적됩니다.rhbz#1313979
이전 커널(예 kernel 4.3.5-300.fc23.x86_64
: )을 부팅하면 문제가 해결됩니다(해결 방법). 여기나 Bugzilla에서 더 자세히 조사해 보세요.
답변3
dnsmasq를 다시 시작하면 이 문제가 해결됩니다.
sudo launchctl stop homebrew.mxcl.dnsmasq
sudo launchctl start homebrew.mxcl.dnsmasq