>  기사  >  백엔드 개발  >  SSH 에이전트, 잘못된 패킷 길이

SSH 에이전트, 잘못된 패킷 길이

WBOY
WBOY앞으로
2024-02-09 14:00:36868검색

SSH 代理,数据包长度错误

PHP 편집자 Xinyi는 오늘 일반적인 네트워크 오류인 "SSH 프록시, 패킷 길이 오류"를 소개합니다. SSH 에이전트 도구를 사용할 때 가끔 이 오류 메시지가 표시되어 네트워크 연결이 실패하는 경우가 있습니다. 이 오류는 일반적으로 패킷 길이가 잘못 설정되어 발생합니다. 이 기사에서는 이 오류의 원인을 자세히 설명하고 이 문제를 해결하고 네트워크 연결이 원활하도록 보장하는 몇 가지 솔루션을 제공합니다.

질문 내용

Go에서 SSH 프록시를 구현하는 중, 잘못된 패킷 길이로 인한 오류, 디버그 모드에서 SSH의 오류는 다음과 같습니다.

으아악

코드:

으아악

EDIT: 연결을 시작하고 오류를 재현하는 방법에 대한 관련 정보가 포함된 코드를 추가했습니다.

내 추측으로는 SSH 협상 프로세스가 중단되어 동기화가 중단된 것 같습니다.

해결 방법

코드는 클라이언트에서 첫 번째 줄을 읽고 프로토콜 유형을 확인하여 적절한 핸들러가 호출되도록 합니다.

으아악

그러나 코드는 읽은 바이트를 연결된 서버로 전달할 수 없습니다. 이 바이트는 protocol 中,并提供给 handlessh에 있습니다. 그러나 일단 연결이 설정되면 이러한 바이트를 연결된 서버로 보낼 수 없습니다. 대신 클라이언트와 서버 간에 새 데이터만 복사합니다.

이는 서버가 클라이언트로부터 첫 번째 행을 가져오지 못하고 있음을 의미합니다. 따라서 클라이언트에 전달되어 SSH 연결의 유효한 데이터로 잘못 해석되는 invalid ssh id string.와 같은 프로토콜 오류에 대해 불평할 수 있습니다.

위 내용은 SSH 에이전트, 잘못된 패킷 길이의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제