Transferir ficheiros sobre o SSH [fechado]

estou a entrar num servidor remoto na linha de comandos, e a tentar copiar uma pasta para a minha máquina local com o comando scp. Contudo, o servidor remoto devolve esta mensagem de "Utilização":

[Stewart:console/ebooks/discostat] jmm% scp -p ./styles/
usage: scp [-1246BCEpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
           [-l limit] [-o ssh_option] [-P port] [-S program]
           [[user@]host1:]file1 [...] [[user@]host2:]file2
[Stewart:console/ebooks/discostat] jmm%
Gostava de poder transferir ficheiros em ambas as direcções. Pelo que li, pensei que o comando acima funcionaria para download, e scp -p [localpath] [remotepath] para upload?

 406
Author: binary lobster, 2008-12-05

4 answers

Precisas de alguma coisa algures. Você tem scp ./styles/, então você está dizendo cópia segura ./styles/, mas não para onde copiá-la.

Geralmente, se você quiser baixar, ele irá:

# download: remote -> local
scp user@remote_host:remote_file local_file 

Onde {[[5]} pode ser uma pasta para colocar o ficheiro onde está a copiar. Para enviar, é o oposto:

# upload: local -> remote
scp local_file user@remote_host:remote_file

Se quiser copiar uma pasta inteira, irá precisar de -r. Pense em scp como cp, excepto que pode indicar um ficheiro com user@remote_host:file assim como Apenas local arquivo.

Editar: como indicado num comentário, se os nomes de Utilizador nas máquinas locais e remotas forem os mesmos, então o utilizador pode ser omitido ao indicar um ficheiro remoto.

 649
Author: lemnisca, 2017-10-04 11:11:06

Se copiar de/para a sua máquina de secretária, use o WinSCP, ou se estiver no Linux, O Nautilus suporta o SCP através da opção Ligar ao servidor.

O Scp só pode copiar ficheiros para uma máquina que executa o sshd, por isso é necessário executar o software do cliente na máquina remota a partir da que está a executar o scp.

Se copiar na linha de comandos, use:

# copy from local machine to remote machine
scp localfile user@host:/path/to/whereyouwant/thefile

Ou

# copy from remote machine to local machine
scp user@host:/path/to/remotefile localfile
 139
Author: JeeBee, 2008-12-05 12:57:03

Tem de indicar tanto o código como o destino, e se quiser copiar as pastas, deverá olhar para a opção-R.

De modo a copiar recursivamente /home/utilizador/o que for do servidor remoto para a sua pasta actual:

scp -pr user@remoteserver:whatever .
 22
Author: Ken, 2008-12-05 13:25:00

Não, você ainda precisa {[[0]} de qualquer maneira que você está copiando

A diferença é que, você precisa de scp -p server:serverpath localpath

 13
Author: Gareth, 2008-12-05 12:49:36