Mensagem de erro usando scp sobre ssh

0

Não tenho certeza do que está acontecendo, mas ultimamente não consigo obter nenhum arquivo copiado para o local do meu servidor remoto. Eu tentei rsync do local e receber a seguinte mensagem de erro:

 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] 

Então eu tripulei o rsync e segui as instruções para diagnosticar o problema com o seguinte (entrada na linha de comando local):

ssh [email protected] /bin/true > out.dat

insira a senha e não receba nada de volta - é só citar um novo prompt).

(2) Então eu tentei scp , e toda vez que eu scp over ssh do local eu recebo a seguinte saída exibindo tipo de arquivo, tamanho, permissões e nome do arquivo, mas nada mais:

 C0644 183 fileineedfromremoteserver.cpp

mas o arquivo não copia (ou pelo menos não consigo encontrá-lo em nenhum lugar no meu computador).

Alguma sugestão sobre qual poderia ser o problema ou o que mais eu poderia tentar?

nota: Meu local é o terminal padrão CLI no OSX (BSD) e o servidor é GNU linux. Eu nunca tive nenhum problema antes de copiar arquivos do servidor, e a única coisa que posso pensar nisso mudou desde que em algum momento eu digitei o comando para gerar uma chave SSH do local (em uma tentativa fracassada de tentar automatizar meu login para o servidor sem ter que digitar minha senha toda vez). Eu duvido que isso tenha algo a ver com isso.

    
por Müt 06.03.2014 / 01:58

1 resposta

0

Já faz tempo desde que eu vi este erro, mas IIRC quando eu vi isso foi devido a ter algo no arquivo rc shell errado que está saindo texto ao fazer o login.

Os arquivos em questão são específicos do shell que você está usando, mas aqui está como você pode corrigi-lo para o bash.

Enquanto estiver conectado à conta no sistema remoto (mambo.m66.com), execute o seguinte: . .bashrc (note que o primeiro período não é um erro de digitação). Se você vir uma saída qualquer ao executar esse comando, mova o comando dentro do arquivo .bashrc para .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]

Existem muitos recursos ao redor da rede se você quiser ler mais sobre isso. Você pode procurar por '.bashrc vs .bash_profile' e obter muito.

    
por 06.03.2014 / 03:30

Tags