Mensaje de error al usar scp sobre ssh

Mensaje de error al usar scp sobre ssh

No estoy seguro de lo que está pasando, pero últimamente parece que no puedo copiar ningún archivo local desde mi servidor remoto. Probé rsync desde local y aparece el siguiente mensaje de error:

 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] 

Entonces manejé rsync y seguí las instrucciones para diagnosticar el problema con lo siguiente (ingreso en la línea de comando local):

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

ingresé la contraseña y no obtuve nada a cambio, simplemente mostró un nuevo mensaje).

(2) Así que lo intenté scpy cada vez que scppaso sshdesde local obtengo el siguiente resultado que muestra el tipo de archivo, el tamaño, los permisos y el nombre del archivo, pero nada más:

 C0644 183 fileineedfromremoteserver.cpp

pero el archivo no se copia (o al menos no puedo encontrarlo en ninguna parte de mi computadora).

¿Alguna sugerencia sobre cuál podría ser el problema o qué más podría intentar?

nota: Mi local es la CLI de terminal predeterminada en OSX (BSD) y el servidor es GNU Linux. Nunca tuve ningún problema antes de copiar archivos del servidor, y lo único que se me ocurre que ha cambiado desde entonces es que en algún momento escribí el comando para generar una clave SSH local (en un intento fallido de intentar automatizar mi inicio de sesión en el servidor sin tener que ingresar mi contraseña cada vez). Aunque dudo que esto tenga algo que ver con eso.

Respuesta1

Han pasado años desde que vi este error, pero IIRC cuando lo vi se debió a que tenía algo en el archivo rc de shell incorrecto que genera texto al iniciar sesión.

Los archivos en cuestión son específicos del shell que estás utilizando, pero aquí te explicamos cómo puedes solucionarlos para bash.

Mientras está conectado a la cuenta en el sistema remoto (mambo.m66.com), ejecute lo siguiente: . .bashrc(tenga en cuenta que el primer punto no es un error tipográfico). Si tú vescualquiersalida al ejecutar ese comando, debe mover el comando dentro del archivo .bashrc a .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]

Hay muchos recursos en la red si desea leer más sobre ellos. Puede buscar '.bashrc vs .bash_profile' y obtener muchos.

información relacionada