Como fazer upload ou download de arquivos/diretórios usando sFTP no Linux
sFTP (Secure File Transfer Program) é um programa de transferência de arquivos seguro e interativo, que funciona de maneira semelhante ao FTP (File Transfer Protocol). No entanto, o sFTP é mais seguro que o FTP; ele lida com todas as operações em um transporte SSH criptografado.
Ele pode ser configurado para usar vários recursos SSH úteis, como autenticação e compactação de chave pública. Ele se conecta e faz login na máquina remota especificada e alterna para um modo de comando interativo onde o usuário pode executar vários comandos.
Neste artigo, mostraremos como fazer upload/download de um diretório inteiro (incluindo seus subdiretórios e subarquivos) usando sFTP.
Como usar sFTP para transferir arquivos/diretórios no Linux
Por padrão, o SFTP adota o mesmo transporte SSH para estabelecer uma conexão segura com um servidor remoto. Embora as senhas sejam usadas para autenticar usuários de forma semelhante às configurações SSH padrão, é recomendado criar e usar login SSH sem senha para uma conexão simplificada e mais segura a hosts remotos.
Conecte-se ao servidor FTP remoto com segurança
Para conectar-se a um servidor SFTP remoto, primeiro estabeleça uma conexão SSH segura e, em seguida, crie uma sessão SFTP conforme mostrado.
sftp [email
Depois de fazer login no host remoto, você pode executar comandos sFTP interativos como nos exemplos abaixo:
sftp> ls #list directory
sftp> pwd #print working directory on remote host
sftp> lpwd #print working directory on local host
sftp> mkdir uploads #create a new directory
Como fazer upload de um diretório usando SFTP
Para fazer upload de um diretório inteiro para um host Linux remoto, use o comando put. No entanto, você receberá um erro se o nome do diretório não existir no diretório de trabalho do host remoto, conforme mostrado na imagem abaixo.
Portanto, primeiro crie um diretório com o mesmo nome no host remoto, antes de carregá-lo do host local, o -r
faz a mágica, permitindo que subdiretórios e subarquivos também sejam copiados:
sftp> put -r linux-console.net-articles
sftp> mkdir linux-console.net-articles
sftp> put -r linux-console.net-articles
Para preservar os tempos de modificação, tempos de acesso e modos dos arquivos originais transferidos, use o sinalizador -p
.
sftp> put -pr linux-console.net-articles
Como baixar um diretório usando SFTP
Para baixar um diretório inteiro chamado fstools-0.0 do host Linux remoto para a máquina local, use o comando get com o sinalizador -r
da seguinte forma:
sftp> get -r fstools-0.0
Em seguida, verifique no diretório de trabalho atual no host local se o diretório foi baixado com todo o conteúdo nele.
Para encerrar o shell SFTP, digite:
sftp> bye
OR
sftp> exit
Além disso, leia os comandos SFTP e dicas de uso.
Observe que para evitar que os usuários acessem todo o sistema de arquivos no host remoto, por motivos de segurança, você pode restringir os usuários SFTP aos seus diretórios pessoais usando chroot Jail.
É isso! Neste artigo, mostramos como fazer upload/download de um diretório inteiro usando SFTP. Use a seção de comentários abaixo para nos oferecer sua opinião sobre este artigo/tópico.