scp가 “예기치 않은 <newline>”오류를 반환합니다 user@server:/path/to/file . 이 서버에서는 작동하지

scp서버에서 로컬 컴퓨터로 파일을 보내려고 하는데이 오류가 발생합니다.

protocol error: unexpected <newline>

이것은 내 구문입니다.

scp user@server:/path/to/file .

이 서버에서는 작동하지 않았지만 다른 서버에서 동일한 명령을 시도했지만 명령 구문이 아닌 서버에 문제가 있다고 가정 할 수 있습니다 scp.

어떤 아이디어?



답변

로그인 스크립트 (.bashrc / .cshrc / etc.) 중 하나는 터미널에 데이터를 출력해서는 안됩니다. 연결하지 않고 예상치 못한 추가 데이터를 받기 시작하여 복사 준비를 할 때 scp 오류가 발생합니다. 여기에서 생성 된 출력을 제거하십시오.

bashrc에서 다음 코드를 사용하여 터미널이 대화식이고 텍스트 만 출력하는지 확인할 수 있습니다. 다른 쉘에도 해당하는 것이 있습니다.

if shopt -q login_shell; then
    [any code that outputs text here]
fi

답변

해결책을 찾았습니다. 내 .bashrc 파일과 .bash_logout은 로그인 / 로그 아웃 할 때마다 정보를 반향하도록 설정되었습니다. 분명히 그 새로운 줄이 scp에 몇 가지 문제를 안고있었습니다. 나는 반향을 언급했고 그 속임수를 썼다!


답변

나는 비슷한 문제가 있었다. 그 이유는 바로 이것입니다. 프록시 상태를 인쇄하기 위해 .bashrc에 “echo”some text “”명령이 있습니다. 그리고이 “에코”일부 텍스트 “”는 scp 실패를 유발했습니다. .bashrc 파일에서 “echo”를 제거하면 scp를 사용하여 파일이 전송됩니다.