PHP 편집자 Xinyi는 오늘 일반적인 네트워크 오류인 "SSH 프록시, 패킷 길이 오류"를 소개합니다. SSH 에이전트 도구를 사용할 때 가끔 이 오류 메시지가 표시되어 네트워크 연결이 실패하는 경우가 있습니다. 이 오류는 일반적으로 패킷 길이가 잘못 설정되어 발생합니다. 이 기사에서는 이 오류의 원인을 자세히 설명하고 이 문제를 해결하고 네트워크 연결이 원활하도록 보장하는 몇 가지 솔루션을 제공합니다.
Go에서 SSH 프록시를 구현하는 중, 잘못된 패킷 길이로 인한 오류, 디버그 모드에서 SSH의 오류는 다음과 같습니다.
으아악코드:
으아악EDIT: 연결을 시작하고 오류를 재현하는 방법에 대한 관련 정보가 포함된 코드를 추가했습니다.
내 추측으로는 SSH 협상 프로세스가 중단되어 동기화가 중단된 것 같습니다.
코드는 클라이언트에서 첫 번째 줄을 읽고 프로토콜 유형을 확인하여 적절한 핸들러가 호출되도록 합니다.
으아악그러나 코드는 읽은 바이트를 연결된 서버로 전달할 수 없습니다. 이 바이트는 protocol
中,并提供给 handlessh
에 있습니다. 그러나 일단 연결이 설정되면 이러한 바이트를 연결된 서버로 보낼 수 없습니다. 대신 클라이언트와 서버 간에 새 데이터만 복사합니다.
이는 서버가 클라이언트로부터 첫 번째 행을 가져오지 못하고 있음을 의미합니다. 따라서 클라이언트에 전달되어 SSH 연결의 유효한 데이터로 잘못 해석되는 invalid ssh id string.
와 같은 프로토콜 오류에 대해 불평할 수 있습니다.
위 내용은 SSH 에이전트, 잘못된 패킷 길이의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!