scp retorna o erro “newline inesperado”

9

Eu estou tentando scp um arquivo de um servidor para minha máquina local, mas está me dando este erro:

protocol error: unexpected <newline>

Esta é a minha sintaxe:

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

Ele não funcionou neste servidor, mas eu tentei o mesmo comando no meu outro servidor, então eu só posso assumir que é algo errado com o meu servidor e não a sintaxe do comando scp .

Alguma idéia?

    
por srchulo 07.11.2011 / 04:57

2 respostas

15

Um dos seus scripts de login (.bashrc / .cshrc / etc.) está enviando dados para o terminal quando não deveria. Isso está causando scp para erro quando ele está se conectando e se preparando para copiar, uma vez que começa a receber dados extras que não espera. Remova a saída que é gerada aqui.

Você pode verificar se o seu terminal é interativo e só envia texto usando o seguinte código em um bashrc. Algo equivalente existe para outras shells também:

if shopt -q login_shell; then
    [any code that outputs text here]
fi
    
por 07.11.2011 / 09:11
2

Encontrou a solução. Meu arquivo .bashrc e .bash_logout foram configurados para ecoar informações para mim sempre que eu entro / saí. Aparentemente, essa nova linha ecoava alguns problemas para scp. Eu comentei minhas declarações de eco e isso fez o truque!

    
por 07.11.2011 / 18:32

Tags