scp
não requer que você conecte o SSH ao computador remoto para fazer a cópia (e é aqui que você está tendo problemas com seu comando).
scp essencialmente funciona em uma forma de empurrar ou puxar. Você pode enviar arquivos / pastas do seu PC local para um controle remoto. A sintaxe do comando para este método é a seguinte:
scp /folderpath/tofile/file.txt user@remotehost:/folderpath/tocopyfileto/
O que solicitará a senha de user
on remotehost
.
Você também pode puxar arquivos / pastas de um PC remoto para o seu PC local. A sintaxe do comando para este método é a seguinte:
scp user@remotehost:/folderpath/tofile/file.txt /folderpath/tolocalfolder/
O que também solicitará a senha para user
on remotehost
.
O problema que você estava enfrentando com o comando acima é que você estava usando a sintaxe de recepção de dados do comando scp para pegar um arquivo de um host remoto, mas também estava SSH nesse host remoto enquanto o executava.
A maneira correta de executar este comando é executá-lo em sua máquina local
scp -P 2222 [email protected]:/home4/user/public_html/website.com/folder_1/folder_2/file_to_copy.zip /Users/username/Desktop/
** Observe que removi o -r
supérfluo do seu comando original. Não é algo que cause um erro, mas é apenas que não é necessário no seu caso. A opção -r
de scp
deve ser usada quando copiar recursivamente uma pasta e todo o seu conteúdo. No seu caso, você estava apenas copiando um arquivo para que não fosse necessário.
** Eu também adicionei o -P 2222
desde que seus comentários subseqüentes indicaram que você precisava usar a porta 2222 em vez da porta padrão 22.