scp devuelve el error "inesperado <nueva línea>"


11

Estoy intentando scpun archivo desde un servidor a mi máquina local, pero me está dando este error:

protocol error: unexpected <newline>

Esta es mi sintaxis:

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

No funcionó en este servidor, pero luego probé el mismo comando en mi otro servidor, por lo que solo puedo suponer que hay algo mal con mi servidor y no la sintaxis del scpcomando.

¿Algunas ideas?


Por favor publique su ~/.bashrcen el servidor.
— cuantos

Gracias por la ayuda quanta. Edité mi .bashrc justo antes de ver tu publicación. El problema era que tenía una declaración de eco. ¡Gracias por la ayuda!
— srchulo

@Miles, lo intenté pero tengo que esperar 8 horas porque tengo una reputación de menos de 100. Lo publicaré como respuesta cuando se acabe ese tiempo.
— srchulo

Para su información, me encontré con este problema y ... <sheepish> mi comando scp era incorrecto </sheepish>. Entonces, podría ser eso.
— ognockocaten

Respuestas:


19

Uno de sus scripts de inicio de sesión (.bashrc / .cshrc / etc.) Está enviando datos al terminal cuando no debería estarlo. Esto está causando un error de scp cuando se conecta y se prepara para copiar, ya que comienza a recibir datos adicionales que no espera. Elimine la salida que se genera aquí.

Puede verificar si su terminal es interactiva y solo genera texto utilizando el siguiente código en un bashrc. También existe algo equivalente para otros proyectiles:

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

2

Encontré la solución. Mi archivo .bashrc y .bash_logout se configuraron para hacerme eco de la información cada vez que inicio / cierre sesión. Aparentemente, esa nueva línea repetida le estaba dando algunos problemas a scp. ¡Comenté mis declaraciones de eco y eso funcionó!


-1

Tuve un problema similar. La razón era exactamente esto: tengo un comando "echo" some text "" en mi .bashrc para imprimir el estado del proxy. Y este "eco" de algún texto "" estaba causando que scp fallara. Entonces, al eliminar el "eco" en el archivo .bashrc, me transfieren los archivos usando scp.


1
Esto no suena diferente de las otras dos respuestas publicadas hace siete años.
— kasperd
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.