Como transferir arquivos com segurança com SFTP
- 677
- 171
- Enrique Gutkowski PhD
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