Commandes Linux et compétences Shell
sftp : transfert de fichiers avec un budget SSH
les trajets sftp à l'intérieur de SSH, c'est exactement pourquoi il a survécu à ses pairs : les clés, les chroots, les hôtes de saut et la piste d'audit sont tous gratuits. OpenSSH a discrètement déplacé scp vers le protocole SFTP dans la version 9.0 car SFTP joue un véritable rôle de protocole : liste de répertoires, mkdir, autorisations, renommage et beaucoup moins de surprises de protocole. Le FTP interactif convient parfaitement aux déplacements ponctuels ; l'automatisation s'exécute via le mode batch, les codes de sortie et les excuses occasionnelles auprès de rsync.
Points clés
- L'automatisation est en mode batch : sftp -b batch.txt user@host exécute un fichier de commandes, quitte une valeur différente de zéro en cas d'échec et lit depuis stdin avec -b - ; Les invites de mot de passe sans surveillance sont le mode batch de bugs qui supprime deux fois plus vite qu'il ajoute de la sécurité.
- Le jeu de commandes est volontairement petit : ls -l, mkdir, put -p (préserver les horodatages), get -r (récursif), chmod et df -h à l'intérieur de la session couvrent 95 % des besoins opérationnels.
- Sachez quand rsync gagne : sftp renvoie des fichiers entiers, tandis que rsync -avz --partial over ssh déplace les deltas, n'élague rien en silence et préserve les archives en masse de métadonnées qui intéressent réellement.
- Côté serveur, sftp est une barrière : ForceCommand internal-sftp à l'intérieur d'un bloc Match avec ChrootDirectory transforme un compte en une boîte de dépôt cryptée et auditée sans aucun shell.
- « sftp fonctionne, le shell ne fonctionne pas » est la conception, pas un bug : la ligne Subsystem sftp internal-sftp est ce qui le permet, et le passage de scp à SFTP dans OpenSSH 9.0 signifie que les anciens serveurs sans sous-système peuvent interrompre les anciennes tâches scp.
- L'utilisation de Cron est jugée en fonction du comportement d'échec : -o BatchMode=yes, -o ConnectTimeout=10 et une vérification explicite du code de sortie transforme les blocages silencieux en échecs bruyants et paginables.
- Le résultat de la progression est le contrôle du bruit : sftp est bavard, les journaux cron sont silencieux ; -q (ou redirections) plus la journalisation côté sshd vous donne une piste d'audit qui ne pourrit pas en gigaoctets de barres de transfert.
- La seule faute de frappe dont sont faites les carrières : sftp -P 2222 prend un P majuscule (minuscule -p signifie préserver), tandis que scp a échangé les conventions sur les mêmes lettres ; lorsqu'un port est erroné, vérifiez d'abord le cas.
Note de terrain
Une tâche cron sftp a été bloquée six heures sur une invite de mot de passe inattendue avant que quiconque ne le remarque. Depuis, chaque transfert scripté obtient -b, -o BatchMode=yes et un code de sortie vérifie que les pages au lieu d'attendre.
Questions fréquentes
OpenSSH 9.0 a-t-il vraiment changé scp ?
Le protocole, pas la surface : scp déplace désormais les fichiers via SFTP en dessous, de sorte que les hôtes sans sous-système sftp interrompent silencieusement les tâches scp héritées ; le correctif active le sous-système et ne renverse pas les habitudes.
Puis-je déplacer un seul fichier sans FTP ?
Oui : cat bigfile.bin | ssh user@host 'cat > /tmp/bigfile.bin' est le transfert portable monotube ; pas de CV, pas de métadonnées, mais cela fonctionne partout où SSH fonctionne, ce qui est exactement son cas d'utilisation.
Sftp est-il plus lent que scp ou rsync ?
Parfois : la surcharge de protocole par fichier et la mise en mémoire tampon par défaut apparaissent dans les arborescences de répertoires en masse ; mesurez votre lien avant de l'optimiser, et rappelez-vous que rsync répond généralement lorsque la plainte est « trop lente ».
Comment puis-je proposer des téléchargements à un tiers sans accès au shell ?
Un compte dédié avec ChrootDirectory, ForceCommand internal-sftp et un sous-répertoire inscriptible ; clés, prison, délai d'attente et examen du journal inclus, c'est une boîte de dépôt plutôt qu'une invitation.
Comment Kinetikatech vous aide avec commandes linux et compétences shell
Voici l'essentiel : Les commandes et habitudes de script qui décident si un administrateur exploite un serveur ou le combat : rechercher, transformer, transférer et superviser le texte et les processus avec les outils présents dans chaque installation de base. Confiez-le à notre service Sécurité des serveurs Linux et Gestion de serveurs et c'est couvert : évalué correctement, mis en œuvre proprement, supervisé jour et nuit.