Como baixar um arquivo de um servidor com SSH / SCP
Os usuários podem baixar com segurança um arquivo de qualquer servidor remoto com SSH usando a ferramenta scp na linha de comando. Essencialmente, isso significa que você pode ter um arquivo armazenado com segurança em um servidor remoto e transferi-lo para o armazenamento local sem ter que expor esse arquivo para o mundo externo, porque o scp oferece o mesmo nível de segurança e requer a mesma autenticação que o ssh.
O download seguro de arquivos com scp destina-se principalmente a usuários avançados que usam ssh e a linha de comando regularmente no macOS X, bsd ou linux. Para aqueles com experiência adequada em linha de comando, usar ssh e scp para baixar arquivos remotos é fácil e, convenientemente, após a conclusão da transferência do arquivo, a conexão remota será encerrada. Isso torna o scp preferencial ao sftp para downloads rápidos de arquivos, embora você também possa usar o sftp se quiser.
Baixando um arquivo do servidor remoto com cópia segura SSH
Isso pressupõe que o servidor remoto tenha o ssh ativo e, se você conseguir fazer o ssh na máquina, provavelmente o scp também estará ativo. Se você não tem um servidor remoto para tentar isso, você pode experimentá-lo entre máquinas Mac OS X ou com localhost se você habilitar o ssh e o login remoto no Mac de antemão.
A sintaxe básica para usar scp (cópia segura) para baixar arquivos remotos com segurança é a seguinte, substituindo usuário, servidor, caminho e destino conforme apropriado:
scp user@server:/path/to/remotefile.zip /Local/Target/Destination
Por exemplo, para baixar um arquivo para a área de trabalho local chamado “filename.zip” localizado no diretório inicial do usuário remoto “osxdaily” no servidor IP 192.168.0.45, a sintaxe seria a seguinte:
% scp [email protected]:filename.zip ~/Desktop/ Senha: filename.zip 100% 126 10.1KB/s 00:00 %
Supondo que a autenticação esteja correta, o download do arquivo de destino começará imediatamente para o destino de destino, oferecendo uma porcentagem de conclusão, velocidade de download e tempo de transferência decorrido à medida que o download do arquivo prossegue.
Como de costume com a linha de comando, é importante especificar a sintaxe exata.
Se o arquivo ou caminho tiver um espaço no nome, você pode usar aspas ou escape no caminho assim:
"scp [email protected]:/some remote directory/filename.zip>"
scp também pode ser usado para colocar um arquivo com segurança em um servidor remoto ajustando a sintaxe também, mas estamos focando no download de um arquivo em vez de upload de arquivos aqui.
Se você é novo no ssh e está testando isso sozinho, e se você nunca se conectou ao servidor remoto antes, você será solicitado a confirmar se deseja ou não se conectar ao remoto máquina. Parece que sim e requer uma resposta 'sim' ou 'não' antes do início do download. % scp [email protected]:filename.zip ~/Desktop/ A autenticidade do host '192.168.0.4 (192.168.0.4)' não pode ser estabelecida. A impressão digital da chave ECDSA é SHA256:31WalRuSLR83HALK83AKJSAkj972JJA878NJHAH3780. Tem certeza de que deseja continuar conectando (sim/não)? sim Aviso: '192.168.0.4' (ECDSA) adicionado permanentemente à lista de hosts conhecidos. Senha: filename.zip 100% 126 0.1KB/s 00:00 %
Novamente, supondo que a conexão seja aprovada e o login seja bem-sucedido, o arquivo remoto será baixado do servidor de destino para o host local.
Você também pode usar scp para baixar vários arquivos de um servidor remoto:
scp user@host:/remote/path/\{file1.zip, file2.zip\} /Local/Path/
Usar ssh para downloads remotos de arquivos como este é mais apropriado para transferências seguras que requerem autenticação. Claro que você também pode baixar arquivos com curl ou wget de servidores remotos, mas os arquivos acessíveis com curl e wget tendem a ser acessíveis do mundo externo também, enquanto ssh e scp requerem autenticação ou uma chave e usam criptografia 3DES, tornando-o consideravelmente mais seguro.