¿Cómo copio una carpeta del host remoto al host local scp
?
Yo uso ssh
para iniciar sesión en mi servidor.
Entonces, me gustaría copiar la carpeta remota foo
a local /home/user/Desktop
.
¿Cómo logro esto?
shell
command-line
copy
scp
Slasengger
fuente
fuente
Respuestas:
Al no incluir el '/' final al final de foo, moverá el directorio en sí (incluidos los contenidos), en lugar de solo los contenidos del directorio.
De
man scp
(Ver manual en línea )fuente
-C
bandera agrega compresión y la-c
bandera te permite pasar otros tipos de cifrado para un mejor rendimiento,scp -c blowfish a@b:something .
como se ve en la respuesta de dimuthuDesktop/foo
o tendrásDesktop/allcontentsofFooGohere
scp? Parece que a veces me parece extraño, hace una cosa y luego otrascp -r [email protected]:/path/to/foo /home/user/Desktop/
contigo debería terminar conDesktop/foo
. Withscp -r [email protected]:/path/to/foo/. /home/user/Desktop/
you terminará con el contenido defoo
inDesktop
y todos los subdirectorios defoo
strewn underDesktop
Para usar toda la potencia de scp , debe seguir los siguientes pasos:
Entonces, por ejemplo, si tiene este ~ / .ssh / config :
se ahorrará la entrada de contraseña y simplificará la sintaxis scp de esta manera:
Además, podrá utilizar la finalización de ruta remota:
Actualizar:
Para habilitar la finalización de bash remota, debe tener bash-shell en ambos
<source>
y en los<target>
hosts, y trabajar correctamente la finalización de bash. Para obtener más información, consulte las preguntas relacionadas:¿Cómo habilitar el autocompletado para rutas remotas cuando se usa scp?
Finalización de la pestaña de nombre de archivo SCP
fuente
Para copiar todo desde la ubicación local a la ubicación remota (cargar)
Para copiar todo desde la ubicación remota a local Ubicación (Descargar)
Puerto personalizado donde
xxxx
está el número de puerto personalizadoCopiar en el directorio actual de Remoto a Local
Ayuda:
-r
Copie recursivamente todos los directorios y archivos/
, Obtenga la ubicación completa porpwd
scp
reemplazará todos los archivos existenteshostname
será nombre de host o dirección IP-P portnumber
Nota: a veces el puerto personalizado no funcionará debido a que el puerto no está permitido en el firewall, así que asegúrese de que el puerto personalizado esté permitido en el firewall para la conexión entrante y saliente
fuente
pwd
para obtener la ubicación y use la mismaLo que siempre uso es:
. (punto) : significa
current folder
. así que copie del servidor y péguelo aquí solo.IP : puede ser una dirección IP
125.55.41.311
o puede ser un host comons1.mysite.com
.fuente
.
refiere al directorio actual!Mejor comprimir primero el catálogo en el servidor remoto:
En segundo lugar, descargue desde el control remoto:
Al final, extraiga los archivos:
fuente
-C
bandera, comoscp -C a@b:bigfile .
.Y si tiene una gran cantidad de archivos para descargar desde la ubicación remota y si no le importa mucho la seguridad, intente cambiar el cifrado predeterminado scp (Triple-DES) a algo como 'blowfish'.
Esto reducirá drásticamente el tiempo de copia de archivos.
fuente
arcfour
en lugar deblowfish
, pero tiene fallas de seguridad.Escenario típico,
explicado con una muestra,
scp -r -P 27000 [email protected]:/tmp/hotel_dump .
dónde,
fuente
Vaya a Archivos en su barra de herramientas de la unidad
Presione Ctrl + l y escriba [email protected]
192.168.1.103 es el host que desea conectar.
El ejemplo aquí
fuente
La pregunta era cómo copiar una carpeta de remoto a local con
scp
comando.$ scp -r userRemote@remoteIp:/path/remoteDir /path/localDir
Pero esta es la mejor manera de hacerlo
sftp
: el Protocolo de transferencia de archivos SSH (también Protocolo seguro de transferencia de archivos o SFTP) es un protocolo de red que proporciona acceso a archivos, transferencia de archivos y administración de archivos a través de cualquier flujo de datos confiable (wikipedia).$ sftp user_remote@remote_ip
sftp> cd /path/to/remoteDir
sftp> get -r remoteDir
Fetching /path/to/remoteDir to localDir 100% 398 0.4KB/s 00:00
Para obtener ayuda sobre el
sftp
comando simplemente escribahelp
o?
.fuente
En caso de que se encuentre con "Demasiadas fallas de autenticación" , especifique la clave SSH exacta que ha agregado al servidor ssh de su servidor:
fuente
No sé por qué, pero tuve que usar la carpeta local antes de la directiva del servidor de origen. para que funcione
fuente
root@