Comandos Linux e habilidades de shell
sftp: transferência de arquivos com orçamento SSH
passeios sftp dentro do SSH, e é exatamente por isso que ele sobreviveu a seus pares: chaves, chroots, hosts de salto e a trilha de auditoria são fornecidos gratuitamente. OpenSSH silenciosamente moveu o scp para o protocolo SFTP na versão 9.0 porque o SFTP desempenha uma função real de protocolo: listagem de diretórios, mkdir, permissões, renomeações e muito menos surpresas de protocolo. O SFTP interativo é adequado para movimentos únicos; a automação é executada no modo em lote, códigos de saída e pedidos ocasionais de desculpas ao rsync.
Pontos principais
- A automação é o modo em lote: sftp -b batch.txt user@host executa um arquivo de comandos, sai diferente de zero em qualquer falha e lê stdin com -b -; prompts de senha autônomos são o modo em lote de bugs que são removidos duas vezes mais rápido que adicionam segurança.
- O conjunto de comandos é pequeno propositalmente: ls -l, mkdir, put -p (preservar carimbos de data e hora), get -r (recursivo), chmod e df -h dentro da sessão cobrem 95% das necessidades operacionais.
- Saiba quando o rsync vence: sftp reenvia arquivos inteiros, enquanto rsync -avz --partial sobre ssh move deltas, não remove nada silenciosamente e preserva os arquivos em massa de metadados realmente importantes.
- Do lado do servidor, sftp é uma barreira: ForceCommand internal-sftp dentro de um bloco Match com ChrootDirectory transforma uma conta em uma caixa suspensa criptografada e auditada, sem nenhum shell.
- 'sftp funciona, shell não' é o design, não um bug: a linha Subsystem sftp internal-sftp é o que permite isso, e a mudança do scp para SFTP no OpenSSH 9.0 significa que servidores legados sem o subsistema podem interromper trabalhos scp antigos.
- O uso do Cron é julgado pelo comportamento de falha: -o BatchMode=yes, -o ConnectTimeout=10, e uma verificação explícita do código de saída transformam travamentos silenciosos em falhas barulhentas e pagináveis.
- A saída de progresso é o controle de ruído: o sftp é tagarela, os logs do cron são silenciosos; -q (ou redirecionamentos) mais o registro no lado sshd fornece uma trilha de auditoria que não se transforma em gigabytes de barras de transferência.
- O único erro de digitação que compõe as carreiras: sftp -P 2222 leva P maiúsculo (minúsculo -p significa preservar), enquanto scp trocou convenções nas mesmas letras; quando uma porta está errada, verifique primeiro o caso.
Nota de campo
Certa vez, um trabalho cron sftp ficou pendurado por seis horas em uma solicitação de senha inesperada antes que alguém percebesse. Cada transferência com script desde então recebe -b, -o BatchMode=yes e um código de saída verifica as páginas em vez de esperar.
Perguntas frequentes
O OpenSSH 9.0 realmente mudou o scp?
O protocolo, não a superfície: o scp agora move arquivos por SFTP abaixo, então hosts sem um subsistema sftp interrompem silenciosamente os trabalhos legados do scp; a solução é ativar o subsistema, não reverter hábitos.
Posso mover um único arquivo sem sftp?
Sim: cat bigfile.bin | ssh user@host 'cat > /tmp/bigfile.bin' é a transferência portátil de um canal; sem currículo, sem metadados, mas funciona em qualquer lugar que o SSH funcione, que é exatamente o seu caso de uso.
O sftp é mais lento que o scp ou o rsync?
Às vezes: sobrecarga de protocolo por arquivo e buffer padrão aparecem em árvores de diretórios em massa; meça seu link antes de otimizar e lembre-se de que o rsync geralmente responde quando a reclamação é 'muito lenta'.
Como faço para fornecer uploads a terceiros sem acesso shell?
Uma conta dedicada com ChrootDirectory, ForceCommand internal-sftp e um subdiretório gravável; chaves, prisão, tempo limite e revisão de log incluídos, que é uma caixa suspensa em vez de um convite.
Como a Kinetikatech ajuda com comandos linux e habilidades de shell
É isto que fazemos todos os dias: Os comandos e hábitos de script que decidem se um administrador opera um servidor ou o combate: pesquise, transforme, transfira e supervisione textos e processos com as ferramentas presentes em cada instalação básica. Nosso serviço Segurança de servidores Linux e Gestão de servidores cobre tudo de ponta a ponta: avaliação, implementação, monitoramento 24/7 e resposta de emergência em 30 minutos.