Linux scp ✓ Comando linux scp para transferir ficheros

scp-command-in-linux

Copiar archivo a otra máquina remota con scp (Secure copy protocol) :

El comando scp linux lo utilizamos para transferir archivos entre dos servidores. Desde el servidor origen ejecutamos el comando y a continuación el archivo a transferir. Luego tenemos que decir el usuario de la máquina destino y la ip o dominio. Despues de los dos puntos, el directorio destino del fichero:

scp /var/web.zip usuariobak@destino.maquina:/var/www/private

Cuando ejecutamos el comando linux scp, si no tenemos llaves ssh configuradas, nos pedirá el password:

The authenticity of host ‘server.es (59.257.6.129)’ can’t be established.
ECDSA key fingerprint is 3c:91:d1:76:a2:a8:59:2c:a6:98:48:67:5b:61:1f:61.
Are you sure you want to continue connecting (yes/no)?

Al contestar yes, nos pide el passwd del usuario:

password:

Nota:Si en después de los dos puntos : no indicamos directorio destino, lo guardará en la carpeta home del usuario destino.

Scp -r recursivo:

 

Hay veces que nos interesa copiar todos los archivos de un directorio, por ejemplo cuando queremos realizar una copia de una máquina virtual, necesitamos copiar todos los archivos que hay dentro de su carpeta, en ese caso usamos la opción -r de recursivo:

scp -r  /vmfs/volumes/datastore1/BACKUP/mimaquinavirtual/* root@192.168.1.116:/vmfs/volumes/datastore4/mimaquinavirtualbak

 

Limitar el ancho de banda con scp -l:

Cuando trabajamos con un servidor de producción, es necesario preservar el ancho de banda para que no interfiera con el normal funcionamiento de nuestro server, en esos casos nos puede ser muy útil limitar el ancho de banda en Kbit/s mediante la opción -l:

scp -l 500 /var/web.zip usuariobak@destino.maquina:/var/www/private

Opción scp -p preservar:

Cuando usamos la opción scp -p, preservamos los permisos, atime y mtime :

scp -p /var/web.zip usuariobak@destino.maquina:/var/www/private

Opción scp -C compresión en la transferencia:

Cuando usamos la opción scp -p, realiza una compresión de los datos a transferir entre máquinas :

scp -C /var/web.zip usuariobak@destino.maquina:/var/www/private

Opción -v verbose en scp -v

Como en todos los comandos linux, la opción -v verbose, nos informa de todo lo que va realizando el comando y nos escribe en pantalla la información:

scp -v /var/web.zip usuariobak@destino.maquina:/var/www/private

Opción -q quiet en scp

Es lo contrario a -v, es decir no nos da ninguna información de salida del comando scp:

scp -q /var/web.zip usuariobak@destino.maquina:/var/www/private

Modificar puerto de conexión scp -p

Con la opción scp -P podemos modificar el puerto por defecto que es el 22:

scp -P 2020 /var/web.zip usuariobak@destino.maquina:/var/www/private

SCP(1) BSD General Commands Manual SCP(1)

NAME
scp — secure copy (remote file copy program)

SYNOPSIS
scp [-12346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program]
[[user@]host1:]file1 … [[user@]host2:]file2

DESCRIPTION
scp copies files between hosts on a network. It uses ssh(1) for data
transfer, and uses the same authentication and provides the same security
as ssh(1). scp will ask for passwords or passphrases if they are needed
for authentication.

File names may contain a user and host specification to indicate that the
file is to be copied to/from that host. Local file names can be made
explicit using absolute or relative pathnames to avoid scp treating file
names containing ‘:’ as host specifiers. Copies between two remote hosts
are also permitted.

The options are as follows:

-1 Forces scp to use protocol 1.

-2 Forces scp to use protocol 2.

-3 Copies between two remote hosts are transferred through the local
host. Without this option the data is copied directly between
the two remote hosts. Note that this option disables the
progress meter.

-4 Forces scp to use IPv4 addresses only.

-6 Forces scp to use IPv6 addresses only.

-B Selects batch mode (prevents asking for passwords or
passphrases).

-C Compression enable. Passes the -C flag to ssh(1) to enable com‐
pression.

-c cipher
Selects the cipher to use for encrypting the data transfer. This
option is directly passed to ssh(1).

-F ssh_config
Specifies an alternative per-user configuration file for ssh.
This option is directly passed to ssh(1).

-i identity_file
Selects the file from which the identity (private key) for public
key authentication is read. This option is directly passed to
ssh(1).

-l limit
Limits the used bandwidth, specified in Kbit/s.

-o ssh_option
Can be used to pass options to ssh in the format used in
ssh_config(5). This is useful for specifying options for which
there is no separate scp command-line flag. For full details of
the options listed below, and their possible values, see
ssh_config(5).

AddressFamily
BatchMode
BindAddress
CanonicalDomains
CanonicalizeFallbackLocal
CanonicalizeHostname
CanonicalizeMaxDots
CanonicalizePermittedCNAMEs
ChallengeResponseAuthentication
CheckHostIP
Cipher
Ciphers
Compression
CompressionLevel
ConnectionAttempts
ConnectTimeout
ControlMaster
ControlPath
ControlPersist
GlobalKnownHostsFile
GSSAPIAuthentication
GSSAPIDelegateCredentials
HashKnownHosts
Host
HostbasedAuthentication
HostKeyAlgorithms
HostKeyAlias
HostName
IdentityFile
IdentitiesOnly
IPQoS
KbdInteractiveAuthentication
KbdInteractiveDevices
KexAlgorithms
LogLevel
MACs
NoHostAuthenticationForLocalhost
NumberOfPasswordPrompts
PasswordAuthentication
PKCS11Provider
Port
PreferredAuthentications
Protocol
ProxyCommand
PubkeyAuthentication
RekeyLimit
RhostsRSAAuthentication
RSAAuthentication
SendEnv
ServerAliveInterval
ServerAliveCountMax
StrictHostKeyChecking
TCPKeepAlive
UsePrivilegedPort
User
UserKnownHostsFile
VerifyHostKeyDNS

-P port
Specifies the port to connect to on the remote host. Note that
this option is written with a capital ‘P’, because -p is already
reserved for preserving the times and modes of the file.

-p Preserves modification times, access times, and modes from the
original file.

-q Quiet mode: disables the progress meter as well as warning and
diagnostic messages from ssh(1).

-r Recursively copy entire directories. Note that scp follows sym‐
bolic links encountered in the tree traversal.

-S program
Name of program to use for the encrypted connection. The program
must understand ssh(1) options.

-v Verbose mode. Causes scp and ssh(1) to print debugging messages
about their progress. This is helpful in debugging connection,
authentication, and configuration problems.

EXIT STATUS
The scp utility exits 0 on success, and >0 if an error occurs.

SEE ALSO
sftp(1), ssh(1), ssh-add(1), ssh-agent(1), ssh-keygen(1), ssh_config(5),
sshd(8)

HISTORY
scp is based on the rcp program in BSD source code from the Regents of
the University of California.

AUTHORS
Timo Rinne <tri@iki.fi>
Tatu Ylonen <ylo@cs.hut.fi>

linux-scp-commands