[업데이트 - 해결됨(?): 아래 답변과 내 솔루션을 참조하세요. 그러나 내 증상이 완전한 시간 초과에서 성공하는 데 3분이 걸리는 것으로 변경된 이유가 무엇인지 여전히 잘 모르겠습니다. 이로 인해 디버깅하고 해결 방법을 찾았습니다. ]
Mac OS 시스템에 ssh를 시도하면 시간이 초과됩니다(해당 포트에서 아무것도 수신하지 않는 것처럼 보입니다. 포트 22에 대한 텔넷도 시간 초과됩니다). 나할 수 있는네트워크 연결이 적절해 보이도록 컴퓨터에 성공적으로 핑을 보냈고할 수 있는대상 머신에서 자신(localhost)으로 ssh를 실행하므로 실제로 포트 22에서 수신 대기합니다. 사실 텔넷으로 연결할 수는 없어요어느이 컴퓨터의 포트입니다.
[추가 사실: 포트 8080에 웹 서버가 설정되어 있습니다. 다른 컴퓨터에서는 연결할 수 없지만 실제로 해당 포트에서 수신 대기하고 있음을 확인할 수 있습니다. 따라서 이는 네트워크/포트/방화벽 문제이며 SSH와는 아무 관련이 없는 것 같습니다. ]
시스템 기본 설정이 좋아 보입니다(공유에는 모든 사용자에 대해 원격 로그인이 켜져 있고 방화벽 옵션에서는 "원격 로그인(SSH)"이 "수신 연결 허용"으로 확인됩니다)(스크린샷은 여기). 그리고 launchctl은 sshd가 실행 중임을 표시하는 것 같습니다.
나는 갈 수있다~에서해당 컴퓨터를 내가 소유한 다른 Mac OS 컴퓨터에 연결합니다. 따라서 라우터 문제는 아닌 것 같습니다. [비록: 한 컴퓨터는 이더넷을 통해 연결되어 있지만 문제가 있는 컴퓨터는 무선을 통해 연결되어 있습니다.] 내가 알 수 있는 한, 내 Mac은 모두 같은 방식으로 구성되어 있습니다.
몇 주 전에는 모든 것이 잘 작동했습니다. 그 이후로 시스템 업데이트를 설치했습니다. 어쩌면 일부 시스템 설정을 동시에 변경했을 수도 있습니다. 아무것도 변경한 기억이 없습니다. (유일한 차이점은 언급한 바와 같습니다. 한 컴퓨터는 이더넷을 통해 내 라우터에 연결되고 다른 컴퓨터는 무선을 통해 연결됩니다.)
머신("tropic")이 실제로 sshd를 사용하여 포트 22를 수신하고 있다는 증거: localhost를 통해 자신을 볼 수 있습니다.
tropic> telnet localhost 22
Trying ::1...
Connected to localhost.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.4
그리고 sudo launchctl list com.openssh.sshd
다른 사람의 게시물에 있는 "올바른" 버전과 동일해 보이는 약 20줄도 인쇄합니다.
그러나 다른 컴퓨터("Equator")에서 연결을 시도하는 경우:
equator> ssh -vvv tropic.local
OpenSSH_7.4p1, LibreSSL 2.5.0
debug1: Reading configuration data /Users/ibarland/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug2: resolving "tropic.local" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to tropic.local [192.64.0.3] port 22.
ssh: connect to host tropic.local port 22: Operation timed out
네트워크 연결이 정상입니다:
equator> ping -c 2 tropic.local
PING tropic.local (192.64.0.3): 56 data bytes
64 bytes from 192.64.0.3: icmp_seq=0 ttl=55 time=17.424 ms
64 bytes from 192.64.0.3: icmp_seq=1 ttl=55 time=19.654 ms
--- tropic.local ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 17.424/18.539/19.654/1.115 ms
내가 시도/확인한 다른 사항:방화벽을 완전히 껐습니다(두 컴퓨터 모두에서) 시도해 보았습니다.내 라우터의 방화벽을 비활성화합니다.- 이 중 어느 것도 아무런 차이가 없습니다. 양측 모두 동일한 버전의 SSH를 실행하고 있습니다. 둘 다 재부팅되었습니다. 둘 다 최신 시스템 업데이트가 있는지 확인했습니다.
저는 오후 내내 머리를 숙이고 있었습니다. 통찰력, 디버깅 전략 또는 기타 제안 사항이 있으면 대단히 감사하겠습니다. (포트 리스너가 생성한 syslog 메시지가 있는 경우 이를 찾을 수 없습니다.
답변1
이것이 (전체) 문제인지는 확실하지 않지만 시간 초과 관련 문제를 해결했습니다.
(a) 한 가지 해결책 또는 적어도 해결 방법은 다음을 편집하는 것입니다 /etc/ssh/ssh_config
.
Host tropic
HostName 192.168.1.4
~/ssh/
(아마도 이 변경 사항은 루트 권한 없이도 작동할 것입니다)
(b) 문제는 매우 긴(~3분) SSH 시간 초과입니다. ssh -vvv
이는 MAC 주소를 두 번 사용하여 연결을 시도하고 있음을 보여줍니다. 마침내 IP 주소 시도를 시작하면 매우 빠르게 연결됩니다. [2주 전의 내 질문은 다음과 같았습니다.실패하다몇 분 후에 시간이 초과되었습니다. 오늘 아침에 문제를 다시 확인했을 때, 마침내 연결되었을 때 무엇이 달라졌는지 잘 모르겠지만, 몇 분 후에야 발생했습니다. ]
(c) 안타깝게도 이는 내가 지정한 IP 주소와 중복됩니다 /etc/hosts
. 파일에 정보를 추가하면 문제가 발생할 수 있습니까?
ssh_config
(d) Fwiw, or에 대한 줄을 변경하거나 옵션을 변경해도 문제가 해결되지 않습니다 .GSSAPIAuthentication
GSSAPIDelegageCredentials
sshd_config
UseDNS