저는 집에서 MacBook Pro를 사용하고 연구실에 있는 컴퓨터에 정기적으로 SSH를 통해 연결합니다. 그러나 지난 3~4일 동안 연구실에 있는 컴퓨터에 SSH를 통해 연결할 때마다 SSH를 실행한 지 불과 2분 만에 "쓰기 실패: 파이프 손상" 오류가 발생했습니다.
며칠 전에 모든 것이 잘 작동했다는 사실이 저를 당황하게 만들었습니다. 모든 것을 정상으로 되돌리는데 도움을 주시면 감사하겠습니다.
답변1
네트워크 문제인 것 같습니다.
특정 네트워크 장치가 변경되거나 재구성되었는지 쿼리합니다. SSH를 통해 로그인하는 데 문제가 있으며 방화벽 구성이 잘못되었을 수 있음을 네트워크 관리자에게 알리십시오. 진단을 개선하려면 다른 컴퓨터에 로그인하거나 다른 컴퓨터에 로그인해 보세요.
이러한 증상의 가능한 원인 중 하나는 IP 주소 충돌입니다. 클라이언트와 서버가 IP 주소를 어디서 가져오는지 확인하세요. 계속 ping server.example.com
실행하면 연결 시간이 늘어나나요? 그렇다면 IP 주소 충돌이 있는 것입니다. (이것은 ping
라우터에게 IP 패킷을 사용자의 컴퓨터로 라우팅하도록 계속 지시하기 때문에 유용합니다. 그러나 다른 컴퓨터가 사용자보다 먼저 ARP 응답을 보내면 여전히 연결이 끊어집니다.) 이것이 문제인 경우 해결해야 합니다. 동일한 주소를 사용하는 기계 중 하나가 다른 주소를 사용하도록 준비하십시오.
또한 컴퓨터의 라우팅 테이블을 확인하십시오. 서버로 전송된 패킷이 올바른 인터페이스로 라우팅되는지 확인하십시오. (잘못된 라우팅 테이블로 인해 일반적으로 연결이 전혀 작동하지 않지만 설명하는 증상이 있는 극단적인 경우가 있습니다. DHCP를 통해 주소를 얻었고 DHCP 서버도 연결 중인 서버인 경우 - 주소 DHCP 서버의 일부는 ARP 캐시가 만료될 때까지 필요한 인터페이스로 라우팅됩니다.
답변2
이는 패킷 손실로 인한 것일 수 있습니다. 유사한 도구를 사용하면 mtr
경로에서 문제를 일으키는 호스트를 진단하는 데 도움이 될 수 있습니다.여기Mac OS X에 설치하기 위한 지침을 찾을 수 있습니다.
답변3
본사의 일부 서버에서 이 문제가 발생했으며 다음을 사용하여 해결했습니다.
TCPKeepAlive yes
ServerAliveInterval 5
SSH에서구성문서( ~/.ssh/config or /etc/ssh/ssh_config
).
나중에 이것이 사무실 간의 통신을 최적화하기 위해 설치된 일부 하드웨어로 인한 간섭 때문이라는 것을 발견했습니다.
답변4
Mac OS X의 문제를 해결하고 변경했습니다.
#ClientAliveInterval 0
도착하다
ClientAliveInterval 300
/etc/sshd_config
다음 에서이것을 누른 다음 컴퓨터를 다시 시작하고 완료하세요.