2012-04-26 20 views

Respuesta

936

diferencia de ssh, scp utiliza el interruptor mayúscula P para establecer el puerto en lugar de la minúscula p: p interruptor

scp -P 80 ... # Use port 80 to bypass the firewall, instead of the scp default 

La minúscula se utiliza con scp para la preservación de los tiempos y modos.

Aquí es un extracto de la página hombre de SCP con todos los detalles relativos a los dos interruptores, así como una explicación de P por qué mayúscula fue elegido para CPS:

-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 in rcp(1).

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

+321

+1 ¿Cómo mierda que 'ssh' utiliza' p', y 'scp' utiliza' P' – wim

+61

por cierto, 'scp' exige opciones correctas orden:' scp -r some_directory - P 80 ... 'no funciona ----- pero' scp -P 80 -r some_directory ... 'funciona. – Abdull

+7

generalmente en Linux el comando es seguido por las opciones y luego las instrucciones/valores – Gary

22

estoy usando diferentes puertos a continuación, estándar y copiar archivos entre archivos de la siguiente manera:

scp -P 1234 [email protected][ip address or host name]:/var/www/mywebsite/dumps/* /var/www/myNewPathOnCurrentLocalMachine 

esto es sólo para uso ocasional, si se repite en base a un cronograma que debe utilizar rsync y cron trabajo para hacerlo.

2

archivo de copia de acoger: archivo scp SourceFile [email protected]:/directory/TargetFile

copia desde el host: scp [email protected]:/directory/SourceFile TargetFile

directorio de copia recursiva desde el host: scp -r [email protected]:/directory/SourceFolder TargetFolder

NOTA: Si el host está utilizando un puerto que el puerto 22, puede especificarlo con la opción -P: scp -P 2222 [email protected]:/directory/SourceFile TargetFile

+3

Solo la NOTA sería suficiente – blagus

3

ayuda SCP nos dice que el puerto está especificado por mayúscula P.

~$ scp 
usage: scp [-12346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] 
      [-l limit] [-o ssh_option] [-P port] [-S program] 
      [[[email protected]]host1:]file1 ... [[[email protected]]host2:]file2 

Espero que esto ayude.

30

Una pista adicional. Coloque la opción '-P' después del comando scp, sin importar si la máquina en la que está ingresando es la segunda (también conocido como destino). Ejemplo:

scp -P 2222 /absolute_path/source-folder/some-file [email protected]:/absolute_path/destination-folder 
22

¿Sabes qué hay mejor que -P?nada

Si utiliza este servidor más de un par de veces, ajustes/crear un archivo ~/.ssh/config con una entrada como:

Host www.myserver.com 
    Port 80 

o

Host myserver myserver80 short any.name.u.want yes_anything well-within-reason 
    HostName www.myserver.com 
    Port 80 
    User username 

continuación, puede utilizar:

scp [email protected]:/root/file.txt .

o

scp short:/root/file.txt .

Usted puede usar cualquier cosa en la línea de "host" con ssh, scp, rsync, git & más

Hay opción de configuración de las muchas que se pueden utilizar en los archivos de configuración, ver:

man ssh_config

+1

'Mala opción de configuración: nombre de usuario'. Use 'User username' en su lugar. – avjaarsveld

0

Esto puede ser achived especificando puerto a través del interruptor -P:

scp -i ~/keys/yourkey -P2222 file [email protected]:/directory/ 
Cuestiones relacionadas