4 votos

¿Cómo copio los datos de un servidor Ubuntu utilizando el terminal por telnet?

Tengo una carpeta para copiar que consiste en archivos PHP y similares para crear un sitio web.

¿Cómo puedo copiar una carpeta del servidor (Linux Ubuntu) al PC cliente (Linux Ubuntu) utilizando el terminal? ¿Podría usar ftp ? Para la conexión de terminal estoy usando Telnet.

La ubicación de la carpeta en el servidor:

qa@ubuntu:~/www/html/js 

Y quiero copiarlo al cliente en:

qa@desktop2:~/home/qa/html

5voto

Andrei Cimpoca Puntos 11

Puedes usar scp si tienes un servidor ssh funcionando en la máquina remota (algo bueno de todos modos). Telnet no es bueno, no está encriptado y es molesto.

Como asumo que puedes hacer ssh en la máquina remota, la forma básica de usar scp es:

scp -r ~/www/html/js qa@desktop2:~/home/qa/html/js

Suponiendo que se quiera copiar desde qa@ubuntu:~/www/html/js a qa@desktop2:~/home/qa/html/js scp es bastante potente, por lo que sugiero la lectura de la página man de la misma en

man scp

1 votos

La sintaxis correcta es user@host:path , no user@host/~/path . Si lo he entendido bien, su ejemplo debería ser scp qa@ubuntu:www/html/js qa@desktop2:home/qa/html (aunque no está claro si @klox quería ~/home/qa/html o ~/html ).

0 votos

Oops, lo siento, mi error. Gracias por la corrección.

4voto

ccrama Puntos 157

Editar: Tendrás problemas para copiar archivos por telnet, amigo mío. ¿Por qué insistes en usar una terminal?

Es decir, estás ejecutando Windows, por lo que presumiblemente tienes acceso a un entorno gráfico. Entonces, ¿el uso de archivos compartidos de Windows / un navegador web / un cliente ftp / un cliente ssh / etc. quedaría descartado porque son gráficos? Y si es así, ¿por qué?

¿Tienes acceso a root en la máquina de Ubuntu? Te sugeriría que instalaras un servidor ssh:

sudo apt-get install openssh-server

A continuación, coge un cliente SSH/SCP de Windows, por ejemplo WinSCP, y utilízalo para entrar en el servidor y copiar tus archivos.

O si realmente quieres hacerlo a través de la terminal por alguna razón, coge Cygwin e instala opens, luego usa el comando 'scp' mencionado abajo.

Tienes que ser un poco más específico sobre tu situación.

  • ¿Qué sistema operativo utiliza el cliente?

  • ¿Qué sistema operativo tiene el servidor?

  • qué servicios está ejecutando el servidor, si lo sabe (FTP, HTTP, NFS, SMB, SSH, etc.)

Por ejemplo, si tienes acceso SSH al servidor, algo como esto funcionaría:

scp user@server.mydomain.com:/remote/path/file.txt /local/path/

Si tiene acceso HTTP al archivo ( http://server.mydomain.com/path/file.txt ) entonces, como el cartel de arriba sugirió, wget:

wget http://server.mydomain.com/path/file.txt

La respuesta depende en gran medida de su situación.

0 votos

mira mi pregunta editada..

0 votos

la ubicación de la carpeta en el servidor: qa@ubuntu:~/www/html/js y quiero copiar en el cliente: qa@desktop2:~/home/qa/html

1voto

Bill Robinson Puntos 21

Si estás usando Windows para esto, y realmente no puedes usar HTTP de ninguna manera para obtener el archivo, puedes recurrir a la vieja escuela de transferencia de archivos a través de protocolos ASCII de 7 bits. Me refiero al Z-Modem. La última vez que se utilizó fue a través de Internet por marcación, específicamente en el mundo de las BBS, con una línea lateral en las transferencias de unix a unix cuando el FTP no estaba disponible (generalmente a través de rsh, pero estoy divagando).

De todos modos, para obtener ese árbol de directorios desde Windows, sin usar FTP o HTTP, basta con el terminal.

  1. Telnet al servidor usando HyperTerm.
  2. Tar/Zip los directorios que te interesan.
  3. Desde la línea de comandos, sz filename.tar.gz
  4. Desde Hyperterm, seleccione Transferencia -> Recibir archivo.
  5. Especifica tu ruta de guardado, y "Zmodem" como protocolo de recepción.

No transferirá tan rápido como lo haría el FTP o el HTTP, pero te dará los archivos.

0 votos

¿como hago si quiero transferir con el mismo sistema operativo linux a linux..?

1voto

goofrider Puntos 136

Si ssh/scp no está disponible, prueba con netcat.

http://nakkaya.com/2009/04/15/using-netcat-for-file-transfers/

Netcat es básicamente un simple volcado de archivos a un puerto de red. Es útil para transferir a un host barebone cuando ssh no está disponible, o para transferir archivos muy grandes a través de LAN/internet donde la sobrecarga de encriptación de SSH se convierte en un cuello de botella.

Dicho esto, scp sigue siendo la forma estándar de transferir archivos desde hosts remotos. Y si estás tratando de transferir un directorio completo, es mejor usar rsync sobre ssh:

rsync -avz -e ssh qa@ubuntu:~/www/html/js  ~/home/qa/html

Scp recorre el directorio mientras se transfiere, puede ser muy lento con carpetas grandes. Rsync recorre todo el directorio y aplica la compresión gzip antes de comenzar la transferencia. Si existe una copia local, rsync compara las dos y transfiere sólo el delta: la parte modificada de los archivos.

Y una corrección añadida para la sugerencia anterior de scp: scp un directorio entero requiere la opción -r:

scp -r qa@ubuntu:~/www/html/js  ~/home/qa/html

0voto

Depende de cómo se sirva el archivo. Si el archivo se puede descargar desde un navegador web, entonces el comando "wget" funcionará: http://linux.die.net/man/1/wget

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X