Como transferir arquivos com segurança com SFTP

Como transferir arquivos com segurança com SFTP

Introdução

Transferir arquivos entre computadores pode ser uma dor. O FTP é um pouco desajeitado e antigo, e o uso de serviços on -line não é direto e é menos do que o ideal para lidar com arquivos sensíveis. O Git funciona bem para código e texto, mas não é o melhor para arquivos binários e requer que um repositório seja configurado. Então, o que é uma boa solução para enviar arquivos diretamente entre computadores? Sftp.

O SFTP é um protocolo de transferência de arquivo seguro que faz uso do SSH para enviar arquivos entre computadores. É criptografado e direto. Ele permite que você use um serviço existente para enviar arquivos, reduzindo assim sua superfície de ataque e elimina a necessidade de confiar em senhas potencialmente vulneráveis ​​para transferências de arquivos.

Antes de prosseguir, você precisa configurar as teclas SSH para as máquinas com as quais deseja trabalhar. Se você não sabe como, consulte nosso guia sobre a configuração de autenticação baseada em chave SSH.

O caso contra FTP

FTP é uma merda. Não há maneira de contornar isso. O FTP é suscetível a muitas explorações de segurança e continua sendo um alvo favorito para os possíveis atacantes. Ele também depende da autenticação de senha, criando mais uma maneira possível de um invasor destruir seu sistema.

O que torna tudo isso especialmente ruim é o fato de que o objetivo do FTPS é transferir arquivos. Isso significa que os mecanismos já estão em vigor para um invasor fazer upload e executar código malicioso em sua máquina.

Se possível, evite FTP.

Conectando

A sintaxe do SFTP é muito semelhante ao SSH. Conectar -se a um servidor não é muito diferente usando o SFTP do que com SSH.

$ SFTP Nome de usuá[email protected]

Isso estabelecerá uma conexão e o lançará em um shell SFTP modificado.

Pode ser necessário usar uma porta diferente para SSH/SFTP. Nesse caso, especifique -o com o -P bandeira.

$ sftp -p 35000 nome de usuá[email protected]

Enviando arquivos

No shell SFTP, você pode usar os comandos internos do SFTP para enviar e receber arquivos. Os comandos para qualquer direção são semelhantes a cp sintaxe. Para enviar um arquivo, use o colocar comando.

colocar levará um arquivo local e o colocará no diretório de trabalho atual da máquina remota.

SFTP> Coloque LocalFile

O LocalFile será transferido para o seu diretório atual. Pastas são semelhantes. Como cp, você pode usar o -r sinalizador para copiar um diretório e seu conteúdo.

sftp> put -r Localdir

Recebendo arquivos

Puxar arquivos para baixo funciona quase o mesmo com o pegar comando. Nesse caso, não depende do seu diretório atual. Você pode especificar um caminho de arquivo para copiar e um local para o qual você gostaria de copiá -lo.

sftp> obtenhafile remoto

Isso apenas obterá o arquivo e o colocará no seu diretório atual.

SFTP> Get RemoteFile/Path/to/LocalFile

O exposto acima receberá o mesmo arquivo remoto e o colocará em um diretório local específico.

Você também pode usar o -r bandeira com pegar Para copiar um diretório inteiro.

sftp> get -r/path/do/remotelir caminho/para/localdir

Se houver necessidade de preservar as permissões exatas do diretório, adicione o -P sinalize.

sftp> get -pr/path/do/remotelir caminho/para/localdir

Pensamentos finais

Mais uma vez, a simplicidade da linha de comando aparece. Ok, então você pode obviamente usar o FTP da linha de comando, mas a maioria das pessoas depende de aplicativos de GUI desnecessariamente volumosos para isso. Mesmo assim, o SFTP fornece uma maneira simples, limpa e segura de transferir arquivos. Como bônus, reduz o número de serviços que você precisa executar, permite fechar mais uma porta e reduz a superfície de ataque geral de seus servidores. Parece uma vitória por toda parte, se alguma vez houve um.

Tutoriais do Linux relacionados:

  • Como configurar o servidor e o cliente FTP/SFTP no Almalinux
  • Configurar servidor FTP no Linux
  • Lista de clientes FTP e instalação no Ubuntu 22.04 Linux…
  • Como se conectar a um servidor FTP usando o Python
  • Uma introdução à automação, ferramentas e técnicas do Linux
  • Lista de clientes FTP e instalação no Ubuntu 20.04 Linux…
  • Coisas para instalar no Ubuntu 20.04
  • Como configurar o servidor SFTP no Ubuntu 22.04 Jellyfish…
  • Mastering Bash Script Loops
  • Tutorial Git para iniciantes