2009-12-12 20:49:15 +0000 2009-12-12 20:49:15 +0000
30
30

¿Cómo subir un archivo desde la línea de comandos con FTP o SSH?

Nunca he hecho esto antes y estoy creando un script de shell bash para hacer esto por mí. También me conectaré vía ssh para hacer algunas cosas (que ya sé cómo hacer). Así que tal vez hay una manera de subir archivos a través de ssh para que pueda hacerlo todo en una sola conexión?

¿Cómo puedo hacer esto?

#!/bin/sh

cd ./files-to-upload
#upload the files

Respuestas (7)

56
56
56
2009-12-12 20:53:32 +0000

Puede utilizar scp para copiar en una máquina remota.

scp <file to upload> <username>@<hostname>:<destination path>
6
6
6
2009-12-12 20:57:38 +0000

Probablemente busque SCP o algo similar.

#!/bin/bash

cd ./files-to-upload
scp * user@host:/path/to/upload/files/to

por supuesto esto debe ser ajustado a su gusto.Reemplace user@host con su información real. Se te pedirá una contraseña para cargar.

4
4
4
2009-12-16 12:08:36 +0000

Si realmente debes usar ssh (en lugar de scp) puedes hacerlo:

for filename in *; do
  cat $filename | ssh user@host "cd /path/to/upload/files/to; cat - > $filename"
done

pero el scp normal (como la sugerencia de tangens ) es el mejor.

1
1
1
2009-12-13 07:15:17 +0000

scp es la mejor respuesta ya que estaría encriptado sobre SSH.

Sin embargo, si quieres hacerlo sobre ftp estándar, mira ncftpput. Está diseñado específicamente para subir un archivo:

NOMBRE ncftpput - Programa de transferencia de archivos de Internet para scripts

SINOPSIS ncftpput [opciones] remote-host remote-directory local-files…

0
0
0
2015-09-04 18:22:34 +0000

Cuando usas el comando scp (copia segura) se conecta al cliente y si no tienes ya una huella digital guardada para el dispositivo host te pedirá la contraseña del host, de lo contrario debería conectarse automáticamente al host creo.

0
0
0
2009-12-16 12:43:45 +0000

curl es un buen programa que maneja varios protocolos.

0
0
0
2019-02-21 08:22:05 +0000

Para la instancia ec2, tienes que pasar el archivo .pem también,

$scp -i ~/Desktop/amazon.pem ~/Desktop/file.zip ubuntu@ec2-54-166-128-20.compute-1.amazonaws.com:~/data/