2012-04-26 19 views

risposta

936

differenza ssh, scp utilizza l'interruttore maiuscola P per impostare la porta anziché la p minuscola: interruttore p

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

La minuscola viene utilizzato con SCP per la conservazione dei tempi e modi.

Ecco un estratto dalla pagina man di SCP, con tutti i dettagli riguardanti i due interruttori, così come una spiegazione del P perché maiuscolo è stata scelta per SCP:

-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 Come crap che 'ssh' usa' p', e 'scp' usa' P' – wim

+61

btw, 'scp' richiede l'ordine corretto delle opzioni:' scp -r directory_a - P 80 ... 'non funziona ----- ma' scp -P 80 -r some_directory ... 'funziona. – Abdull

+7

generalmente in linux il comando è seguito dalle opzioni e quindi dalle istruzioni/valori – Gary

22

sto usando porte diverse, allora di serie e copiare i file da un file in questo modo:

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

questo è solo per uso occasionale, se si ripete in base a un programma si dovrebbe usare rsync e cron lavoro per farlo.

2

file di copia per ospitare: file di scp SourceFile [email protected]:/directory/TargetFile

Copia da host: scp [email protected]:/directory/SourceFile TargetFile

directory Copia ricorsivamente da host: scp -r [email protected]:/directory/SourceFolder TargetFolder

NOTA: Se l'host utilizza una porta diversa della porta 22, è possibile specificarlo con l'opzione -P: scp -P 2222 [email protected]:/directory/SourceFile TargetFile

+3

Solo la NOTA sarebbe sufficiente a – blagus

3

aiuto SCP ci dice che la porta è specificato da maiuscolo 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 

Spero che questo aiuti.

30

Un ulteriore suggerimento. Posiziona l'opzione '-P' dopo il comando scp, indipendentemente dal fatto che la macchina su cui stai eseguendo ssh-in sia la seconda (ovvero la destinazione). Esempio:

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

Sai cos'è più bello di -P?niente

Se si utilizza questo server più di un paio di volte, l'installazione/creare un file ~/.ssh/config con una voce simile:

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 

quindi è possibile utilizzare:

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

o

scp short:/root/file.txt .

È possibile utilizzare qualsiasi cosa sulla linea "Host" con ssh, scp, rsync, git & più

Non ci sono opzioni di configurazione tanti che è possibile utilizzare nei file di configurazione, vedere:

man ssh_config

+1

'Opzione di configurazione errata: nome utente'. Usa invece "User username". – avjaarsveld

0

Questo può essere achived specificando porta tramite l'interruttore -P:

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