무슨 일이 일어나고 있는지 잘 모르겠지만 최근에는 원격 서버에서 로컬로 파일을 복사할 수 없는 것 같습니다. 로컬에서 rsync를 시도했는데 다음 오류 메시지가 나타납니다.
mut@mylocalcomputer:~$ rsync -chavzP --stats [email protected]:/home/users/mut/thedirectoryIneed /User/mut/
[email protected]'s password:
protocol version mismatch -- is your shell clean?
(see the rsync man page for an explanation)
rsync error: protocol incompatibility (code 2) at /SourceCache/rsync/rsync-42/rsync /compat.c(61) [receiver=2.6.9]
그래서 rsync를 유인하고 지침에 따라 다음 문제를 진단했습니다(로컬 명령줄에 입력).
ssh [email protected] /bin/true > out.dat
비밀번호를 입력했는데 아무 것도 돌아오지 않았습니다. 단지 새로운 메시지만 뱉어냈습니다.)
(2) 그래서 대신 시도했는데 로컬에서 이동할 scp
때마다 파일 유형, 크기, 권한 및 파일 이름을 표시하는 다음 출력이 표시되지만 그 외에는 아무것도 표시되지 않습니다.scp
ssh
C0644 183 fileineedfromremoteserver.cpp
하지만 파일이 복사되지 않습니다(또는 적어도 내 컴퓨터 어디에서나 찾을 수 없습니다).
문제가 무엇인지에 대한 제안 사항이나 다른 방법을 시도해 볼 수 있습니까?
참고: 내 로컬은 OSX(BSD)의 기본 터미널 CLI이고 서버는 GNU linux입니다. 서버에서 파일을 복사하기 전에는 아무런 문제가 없었으며 그 이후로 변경된 것이라고 생각할 수 있는 유일한 것은 어느 시점에서 로컬에서 SSH 키를 생성하는 명령을 입력했다는 것입니다. 매번 비밀번호를 입력하지 않고도 서버에 로그인할 수 있습니다.) 그래도 이것이 그것과 관련이 있는지 의심됩니다.
답변1
이 오류를 본 지 오래되었지만 IIRC에서 본 것은 로그인 시 텍스트를 출력하는 잘못된 쉘 rc 파일에 뭔가가 있기 때문이었습니다.
문제의 파일은 사용 중인 셸에만 해당되지만, bash에 대해 수정하는 방법은 다음과 같습니다.
원격 시스템(mambo.m66.com)의 계정에 로그인한 동안 다음을 실행하십시오.
. .bashrc
(첫 번째 마침표는 오타가 아닙니다.) 네가 본다면어느해당 명령을 실행할 때 출력을 실행하려면 .bashrc 파일 내의 명령을 .bash_profile로 이동해야 합니다.
abydos:~ jonv$ touch sourcefile
abydos:~ jonv$ echo 'echo This should work.' > .bash_profile
abydos:~ jonv$ rsync jonv@localhost:sourcefile destfile
abydos:~ jonv$ echo 'echo This should NOT work.' > .bashrc
abydos:~ jonv$ rsync jonv@localhost:sourcefile destfile
protocol version mismatch -- is your shell clean?
(see the rsync man page for an explanation)
rsync error: protocol incompatibility (code 2) at /SourceCache/rsync/rsync-42/rsync/compat.c(61) [receiver=2.6.9]
더 자세히 읽고 싶다면 인터넷에 많은 자료가 있습니다. '.bashrc vs .bash_profile'을 검색하여 많이 얻을 수 있습니다.