Cómo cargar un archivo local al servidor a través del terminal de Linux

47

Estoy tratando de subir archivos locales al servidor usando Putty o SSH pero no puedo subirlos allí.

¿Hay algún método directo para cargar archivos desde el servidor local al terminal de Linux sin usar FTP, etc.?

Sanjeev Kumar Goswami
fuente
SFTP es lo que estás buscando.
quiero transferir mi archivo local al servidor usando Linux Terminal. Supongamos que solíamos acceder al servidor por masilla o ssh pero no pudimos transferir el archivo por el mismo terminal.

Respuestas:

64

Seguro. Use scp(copia segura) de esta manera:

scp [source file] [username]@[destination server]:.

Por supuesto reemplazar el corchetes [source file], [username]y [destination server]para que coincida con los valores locales. Entonces, si el archivo era cool_stuff.txty su nombre de usuario en el servidor remoto es sanjeevy el servidor de destino es example.com, el comando sería:

scp cool_stuff.txt [email protected]:.

Y la fuente también podría ser remota, por lo que puede hacer esto para hacer lo contrario del ejemplo anterior:

scp [email protected]:cool_stuff.txt .

Ese comando copiaría el archivo remoto cool_stuff.txten cualquier directorio local en el que se encuentre. Y si está haciendo esto con varios archivos, simplemente use un comodín ( *) como lo haría para un cpcomando normal .

Además, el .solo indica la ruta de directorio inmediata; como el que está justo en el momento en que ejecuta el comando o la ruta inmediata que tiene el usuario remoto en el servidor de destino. Pero también podría especificar una ruta como /this/path/right/hereen el ejemplo local a remoto:

scp cool_stuff.txt [email protected]:/this/path/right/here

O el ejemplo de remoto a local aquí:

scp [email protected]:cool_stuff.txt /this/path/right/here

Ahora, si el servidor remoto no permite SSH y solo SFTP, SFTP es el camino a seguir. Pero scpes muy útil cuando solo desea lanzar un archivo y no hacer todo el proceso SFTP manualmente desde la línea de comandos.

JakeGould
fuente
13

Cuando el inicio de sesión en el servidor remoto se realiza a través de la clave ssh , podemos usar el siguiente -iindicador para pasar nuestra clave al servidor:

scp -i /path/to/.ssh/id_rsa path/to/file/myFiles.gz myServer.com:/folder/on/server

-i archivo_de_identidad
Selecciona el archivo del que se lee la identidad (clave privada) para la autenticación de clave pública.
Esta opción se pasa directamente a ssh (1).

zx8754
fuente
13

Para agregar a la respuesta de Jake , puede especificar una ubicación, en lugar de solo, .para copiar agregando la ruta al final de la URL como:

scp /path/to/file username@servername/ip:/destination/folder/
CBinyenya
fuente
1
Para su información, el espacio entre el host remoto y la ruta es un error, por lo que debe escribir esto sin espacio. (editar esta respuesta no es posible en este momento)
Sliq