며칠 동안 프록시/터널을 사용하기 위해 SSH를 통해 서버에 연결하는 데 문제가 있습니다.
I-설정
고객
이것은 기계입니다:
아이맥:~luka$sw_vers
제품명: Mac OS X
제품 버전: 10.11.6
빌드 버전: 15G1108
아이맥:~루카$ sudo sysctl net.inet.ip.forwarding
net.inet.ip.전달: 0
아이맥:~luka$ sudo sysctl net.inet.ip.fw.enable
net.inet.ip.fw.enabled:1
세 가지 다른 네트워크를 시도했습니다.
브라우저
나는 Firefox 50.0.1을 사용하여 인터넷을 탐색하고 FoxyProxy 확장은 다음과 같이 구성됩니다.
호스트 주소: 127.0.0.1
포트: 9999
양말 v5
SSH 명령
저는 Terminal.app을 사용하여 SSH를 통해 서버에 연결하고 있습니다.
아이맥:~luka$ ssh -p 53 -D 9999 luka@myIP
섬기는 사람
Luca@myServer:~$ ssh -V
OpenSSH_6.7p1 Debian-5+deb8u3, OpenSSL 1.0.1t 2016년 5월 3일
Luca@myServer:~$ 고양이 /proc/sys/net/ipv4/ip_forward
1
II - 기대
일단 연결이 열리면 아무 문제 없이 어떤 웹사이트든 탐색할 수 있습니다(내 IP가 내 서버입니다).
며칠 전까지만 해도 괜찮았어요. 다음과 같이 시도해도 여전히 잘 작동합니다.
- 동일한 서버(A), 다른 컴퓨터(Y)
- 같은 컴퓨터(X), 다른 서버(B)
보기에는 내 컴퓨터(X)와 내 서버(A)에서 작동하지 않는 것 같습니다.
III - 무슨 일이 일어났나요?
luca@myServer:~$ ssh_dispatch_run_fatal: myIP에 연결 중: 잘못된 메시지 확인 코드
그런 다음 연결이 닫힙니다.
이 메시지는 무작위로 나타납니다. 하지만 프록시를 통한 빅데이터 로딩(여러 동영상 로딩, 대용량 파일 다운로드 등)으로 쉽게 재현할 수 있습니다.
IV - 다른 방법으로는 비슷한 문제입니다.
동일한 로그인(luca) 및 동일한 포트(53)를 사용하여 sftp://(FileZilla 사용)를 통해 내 서버에 연결하는 경우. 그런 다음 파일을 다운로드하려고 하면 30초마다 다음 오류가 발생합니다.
오류: 잘못된 MAC로 패킷이 수신되었습니다.
다시 한번 말하지만, 이는 내 컴퓨터(X)와 내 서버(A)에서만 발생합니다. 동일한 컴퓨터(X)에서 다른 서버(B)를 사용해도 문제가 없습니다. 동일한 서버(A)를 다른 컴퓨터(Y)에서 사용해도 문제가 없습니다.
V - 시도해 보았지만 해결되지 않은 것
- 서버와 컴퓨터를 다시 시작하세요.
- 서버 및 시스템에서 ssh/sshd 다시 시작
- 컴퓨터에서 Known_hosts 파일을 삭제하세요.
- ssh 명령을 사용하여
-m
및-c
-o GSSAPIKeyExchange=no
SSH 명령에 지정/etc/ssh/ssh_config
서버 또는/및 컴퓨터에서 비밀번호 및/또는 MAC 줄의 주석 처리를 해제하세요.-vvvvv
ssh 명령을 사용하여 옵션을 살펴보고 서버/머신의 로그를 읽어 보았지만 관련이 없습니다.
어떤 도움이라도 대단히 감사하겠습니다.
부록
섬기는 사람ssh -Q mac
Luca@myServer:~$ ssh -Q 맥 hmac-sha1 hmac-sha1-96 hmac-sha2-256 hmac-sha2-512 hmac-md5 hmac-md5-96 hmac-ripemd160 [이메일 보호됨] [이메일 보호됨] [이메일 보호됨] [이메일 보호됨] [이메일 보호됨] [이메일 보호됨] [이메일 보호됨] [이메일 보호됨] [이메일 보호됨] [이메일 보호됨] [이메일 보호됨] [이메일 보호됨]
컴퓨터ssh -Q mac
아이맥:~luka$ ssh -Q 맥 hmac-sha1 hmac-sha1-96 hmac-sha2-256 hmac-sha2-512 hmac-md5 hmac-md5-96 hmac-ripemd160 [이메일 보호됨] [이메일 보호됨] [이메일 보호됨] [이메일 보호됨] [이메일 보호됨] [이메일 보호됨] [이메일 보호됨] [이메일 보호됨] [이메일 보호됨] [이메일 보호됨] [이메일 보호됨] [이메일 보호됨]
섬기는 사람ssh -v -p 53 -D 9999 luca@myIP
iMac:~ Luca$ ssh -v -p 53 -D 9999 luca@myIP
OpenSSH_6.9p1, LibreSSL 2.1.8
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 21: Applying options for *
debug1: Connecting to myIP [myIP] port 53.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file /Users/Luca/.ssh/id_rsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/Luca/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/Luca/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/Luca/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/Luca/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/Luca/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/Luca/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/Luca/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.9
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.7p1 Debian-5+deb8u3
debug1: match: OpenSSH_6.7p1 Debian-5+deb8u3 pat OpenSSH* compat 0x04000000
debug1: Authenticating to myIP:53 as 'luca'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client [email protected] <implicit> none
debug1: kex: client->server [email protected] <implicit> none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:DUAAYL1r0QUDtRI89JozTTz+bm5wcg4cOSaFaRdbr/Y
debug1: Host '[myIP]:53' is known and matches the ECDSA host key.
debug1: Found key in /Users/Luca/.ssh/known_hosts:1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Trying private key: /Users/Luca/.ssh/id_rsa
debug1: Trying private key: /Users/Luca/.ssh/id_dsa
debug1: Trying private key: /Users/Luca/.ssh/id_ecdsa
debug1: Trying private key: /Users/Luca/.ssh/id_ed25519
debug1: Next authentication method: password
luca@myIP's password:
debug1: Authentication succeeded (password).
Authenticated to myIP ([myIP]:53).
debug1: Local connections to LOCALHOST:9999 forwarded to remote address socks:0
debug1: Local forwarding listening on ::1 port 9999.
debug1: channel 0: new [port listener]
debug1: Local forwarding listening on 127.0.0.1 port 9999.
debug1: channel 1: new [port listener]
debug1: channel 2: new [client-session]
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LANG = fr_FR.UTF-8
Debian GNU/Linux 8.6
Linux <server> #1 SMP Tue Mar 18 14:48:24 CET 2014 x86_64 GNU/Linux
server : 274305
hostname : myServer
eth0 IPv4 : myIPv4
eth0 IPv6 : myIPv6
Last login: Thu Dec 8 15:36:09 2016 from XXX.XXX.XXX.XXX
luca@myServer:~$
가끔 오류가 보이더라구요
luca@myServer:~$ 오류 패킷 길이 3045540078.
패딩 오류: -1249427218 블록 8 모드 6 필요
ssh_dispatch_run_fatal: 5.39.88.21에 연결 중: 잘못된 메시지 확인 코드
서버가 ssh -o macs=hmac-sha1 -v -p 53 -D 9999 luca@myServer
터졌을 때
iMac:~ Luca$ ssh -o macs=hmac-sha1 -v -p 53 -D 9999 luca@myIP
// [...]
luca@myServer:~$ debug1: Connection to port 9999 forwarding to socks port 0 requested.
debug1: channel 3: new [dynamic-tcpip]
debug1: Connection to port 9999 forwarding to socks port 0 requested.
debug1: channel 4: new [dynamic-tcpip]
debug1: Connection to port 9999 forwarding to socks port 0 requested.
debug1: channel 5: new [dynamic-tcpip]
debug1: Connection to port 9999 forwarding to socks port 0 requested.
debug1: channel 6: new [dynamic-tcpip]
debug1: Connection to port 9999 forwarding to socks port 0 requested.
debug1: channel 7: new [dynamic-tcpip]
debug1: Connection to port 9999 forwarding to socks port 0 requested.
debug1: channel 8: new [dynamic-tcpip]
debug1: Connection to port 9999 forwarding to socks port 0 requested.
debug1: channel 9: new [dynamic-tcpip]
debug1: Connection to port 9999 forwarding to socks port 0 requested.
debug1: channel 10: new [dynamic-tcpip]
debug1: Connection to port 9999 forwarding to socks port 0 requested.
debug1: channel 11: new [dynamic-tcpip]
debug1: Connection to port 9999 forwarding to socks port 0 requested.
debug1: channel 12: new [dynamic-tcpip]
debug1: Connection to port 9999 forwarding to socks port 0 requested.
debug1: channel 13: new [dynamic-tcpip]
debug1: Connection to port 9999 forwarding to socks port 0 requested.
debug1: channel 14: new [dynamic-tcpip]
debug1: Connection to port 9999 forwarding to socks port 0 requested.
debug1: channel 15: new [dynamic-tcpip]
debug1: Connection to port 9999 forwarding to socks port 0 requested.
debug1: channel 16: new [dynamic-tcpip]
debug1: Connection to port 9999 forwarding to socks port 0 requested.
debug1: channel 17: new [dynamic-tcpip]
debug1: Connection to port 9999 forwarding to socks port 0 requested.
debug1: channel 18: new [dynamic-tcpip]
debug1: Connection to port 9999 forwarding to socks port 0 requested.
debug1: channel 19: new [dynamic-tcpip]
ssh_dispatch_run_fatal: Connection to myIP : message authentication code incorrect
iMac:~ Luca$
클라이언트에서 SSH를 업데이트한 후
iMac:~ Luca$ ssh -V
OpenSSH_7.3p1, OpenSSL 1.0.2j 26 Sep 2016
iMac:~ Luca$ ssh -p 53 -D 9999 luca@myIP
luca@myIP's password:
luca@ns3274305:~$ ssh_dispatch_run_fatal: Connection to myIP port 53: message authentication code incorrect
iMac:~ Luca$ ssh -o macs=hmac-sha1 -p 53 -D 9999 luca@myIP
luca@myIP's password:
luca@ns3274305:~$ ssh_dispatch_run_fatal: Connection to myIP port 53: message authentication code incorrect
iMac:~ Luca$
답변1
Mac OS El Capitan(10.11)에서 Mac OS Sierra(10.12)로 업데이트했습니다.
문제가 더 이상 발생하지 않습니다.
아직도 정확히 문제가 무엇인지 모르겠습니다.
답변2
내 Mac(Big Sur 아래) 이더넷 어댑터의 고급 설정에서 AVB/EAV 모드를 비활성화하여 이 문제를 해결했습니다.