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?
4 answers
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.
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
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 .
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