scp가 "예기치 않은 <newline>"오류를 반환합니다


11

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

protocol error: unexpected <newline>

이것은 내 구문입니다.

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

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

어떤 아이디어?


~/.bashrc서버에 게시하십시오 .
quanta

도움을 주셔서 감사합니다. 게시물을보기 직전에 .bashrc를 편집했습니다. 문제는 그 안에 에코 문이 있다는 것입니다. 도와 주셔서 감사합니다!
srchulo

@Miles, 나는 시도했지만 100 미만의 평판을 가지고 있기 때문에 8 시간을 기다려야합니다. 그 시간이 다되면 답변으로 게시 할 것입니다.
srchulo

참고로, 나는이 문제에 부딪 쳤고 ... <sheepish> 내 scp 명령이 잘못되었습니다 </ sheepish>. 그래서 그것은 단지 그럴 수 있습니다.
ognockocaten

답변:


19

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

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

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

2

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


-1

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


1
이것은 7 년 전에 게시 된 다른 두 가지 답변과 다르지 않습니다.
kasperd 2019
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.