sftp — Transfert de fichiers sécurisé OpenSSH
SYNOPSIS
sftp [-46AaCfNpqrv] [-B taille_mémoire_tampon] [-b fichier_batch] [-c chiffrement] [-D commande_serveur_sftp]
[-F ssh_config] [-i fichier_identité] [-J destination] [-l limite] [-o option_ssh] [-P port]
[-R nombre_requêtes] [-S programme] [-s sous-système | serveur_sftp] [-X option_sftp] destination
DESCRIPTION
sftp est un programme de transfert de fichiers, similaire à ftp(1), qui effectue toutes les opérations via un transport ssh(1) chiffré. Il peut également utiliser de nombreuses fonctionnalités de ssh, telles que l'authentification par clé publique et la compression.
La destination peut être spécifiée soit sous la forme [utilisateur@]hôte[:chemin], soit sous la forme d'une URI : sftp://[utilisateur@]hôte[:port][/chemin].
Si la destination inclut un chemin et que ce n'est pas un répertoire, sftp récupérera automatiquement les fichiers si une méthode d'authentification non interactive est utilisée ; sinon, il le fera après une authentification interactive réussie.
S'il n'y a pas de chemin spécifié, ou si le chemin est un répertoire, sftp se connectera à l'hôte spécifié et entrera en mode commande interactif, en se déplaçant vers le répertoire distant si un a été spécifié. Une barre oblique finale facultative peut être utilisée pour forcer l'interprétation du chemin comme un répertoire.
Étant donné que les formats de destination utilisent des caractères deux-points pour délimiter les noms d'hôte des noms de chemin ou des numéros de port, les adresses IPv6 doivent être enfermées entre crochets pour éviter toute ambiguïté.
Les options sont les suivantes :
-4 Force sftp à utiliser uniquement les adresses IPv4.
-6 Force sftp à utiliser uniquement les adresses IPv6.
-A Permet de transférer ssh-agent(1) vers le système distant. Par défaut, l'authentification par agent n'est pas transférée.
-a Tente de reprendre les transferts interrompus plutôt que de remplacer les copies partielles ou complètes de fichiers existantes. Si le contenu partiel diffère de celui qui est transféré,
le fichier résultant risque d'être corrompu.
-B taille_mémoire_tampon
Spécifie la taille du tampon que sftp utilise lors du transfert de fichiers. Les tampons plus grands nécessitent moins d'échanges au prix d'une consommation de mémoire plus élevée. La valeur par défaut est de 32 768 octets.
-b fichier_batch
Le mode batch lit une série de commandes à partir d'un fichier batch d'entrée au lieu de stdin. Comme il n'y a pas d'interaction avec l'utilisateur, il doit être utilisé en conjonction avec une authentification non interactive pour éviter d'avoir à entrer un mot de passe au moment de la connexion (voir sshd(8) et ssh-keygen(1) pour plus de détails).
Un fichier batch de « - » peut être utilisé pour indiquer l'entrée standard. Sftp abandonnera si l'une des
commandes suivantes échoue : get, put, reget, reput, rename, ln, rm, mkdir, chdir, ls,
lchdir, copy, cp, chmod, chown, chgrp, lpwd, df, symlink et lmkdir.
La suppression de l'arrêt en cas d'erreur peut être effectuée sur une base commande par commande en préfixant la commande avec un caractère « - » (par exemple, -rm /tmp/blah*). L'affichage de la commande peut être supprimé en préfixant la commande avec un caractère « @ ». Ces deux préfixes peuvent être combinés dans n'importe quel ordre, par exemple, -@ls /bsd.
-C Active la compression (via l'option -C de ssh).
-c cipher
Sélectionne le chiffrement à utiliser pour crypter les transferts de données. Cette option est directement transmise à [ssh]({filename}../../ssh)(1).
-D sftp_server_command
Se connecte directement à un serveur sftp local (plutôt qu'via [ssh]({filename}../../ssh)(1)). Une commande et ses arguments peuvent être spécifiés, par exemple, "/path/sftp-server -el debug3". Cette option peut être utile pour déboguer le client et le serveur.
-F ssh_config
Spécifie un fichier de configuration par utilisateur alternatif pour [ssh]({filename}../../ssh)(1). Cette option est directement transmise à [ssh]({filename}../../ssh)(1).
-f Demande que les fichiers soient vidés sur le disque immédiatement après le transfert. Lors du téléchargement de fichiers, cette fonctionnalité n'est activée que si le serveur implémente l'extension « _ ».
-i identity_file
Sélectionne le fichier à partir duquel l'identité (clé privée) pour l'authentification par clé publique est lue. Cette option est directement transmise à [ssh]({filename}../../ssh)(1).
-J destination
Se connecte à l'hôte cible en effectuant d'abord une connexion sftp à l'hôte de saut décrit par destination, puis en établissant un transfert TCP vers la destination finale à partir de là. Plusieurs sauts peuvent être spécifiés, séparés par des virgules. Il s'agit d'un raccourci pour spécifier une directive ProxyJump dans la configuration. Cette option est directement transmise à [ssh]({filename}../../ssh)(1).
-l limit
Limite la bande passante utilisée, spécifiée en Kbit/s.
-N Désactive le mode silencieux, par exemple pour remplacer le mode silencieux implicite défini par l'option -b.
-o ssh_option
Peut être utilisé pour transmettre des options à ssh dans le format utilisé dans ssh_config(5). Ceci est utile pour spécifier des options pour lesquelles il n'existe pas de drapeau de ligne de commande sftp distinct. Par exemple, pour spécifier un port alternatif, utilisez : sftp -oPort=24. Pour plus de détails sur les options répertoriées ci-dessous et leurs valeurs possibles, consultez ssh_config(5).
AddKeysToAgent
AddressFamily
BatchMode
BindAddress
BindInterface
CASignatureAlgorithms
CanonicalDomains
CanonicalizeFallbackLocal
CanonicalizeHostname
CanonicalizeMaxDots
CanonicalizePermittedCNAMEs
CertificateFile
ChannelTimeout
CheckHostIP
Ciphers
ClearAllForwardings
Compression
ConnectTimeout
ConnectionAttempts
ControlMaster
ControlPath
ControlPersist
DynamicForward
EnableEscapeCommandline
EnableSSHKeysign
EscapeChar
ExitOnForwardFailure
FingerprintHash
ForkAfterAuthentication
ForwardAgent
ForwardX11
ForwardX11Timeout
ForwardX11Trusted
GSSAPIAuthentication
GSSAPIDelegateCredentials
GatewayPorts
GlobalKnownHostsFile
HashKnownHosts
Host
HostKeyAlgorithms
HostKeyAlias
HostbasedAcceptedAlgorithms
HostbasedAuthentication
Hostname
IPQoS
IdentitiesOnly
IdentityAgent
IdentityFile
IgnoreUnknown
Include
KbdInteractiveAuthentication
KbdInteractiveDevices
KexAlgorithms
KnownHostsCommand
LocalCommand
LocalForward
LogLevel
LogVerbose
MACs
NoHostAuthenticationForLocalhost
NumberOfPasswordPrompts
ObscureKeystrokeTiming
PKCS11Provider
PasswordAuthentication
PermitLocalCommand
PermitRemoteOpen
Port
PreferredAuthentications
ProxyCommand
ProxyJump
ProxyUseFdpass
PubkeyAcceptedAlgorithms
PubkeyAuthentication
RekeyLimit
RemoteCommand
RemoteForward
RequestTTY
RequiredRSASize
RevokedHostKeys
SecurityKeyProvider
SendEnv
ServerAliveCountMax
ServerAliveInterval
SessionType
SetEnv
StdinNull
StreamLocalBindMask
StreamLocalBindUnlink
StrictHostKeyChecking
SyslogFacility
TCPKeepAlive
Tag
Tunnel
TunnelDevice
UpdateHostKeys
User
UserKnownHostsFile
VerifyHostKeyDNS
VisualHostKey
XAuthLocation
-P port
Spécifie le port auquel se connecter sur l’hôte distant.
-p
Conserve les horodatages de modification, les horodatages d’accès et les modes des fichiers d’origine transférés.
-q
Mode silencieux : désactive la barre de progression ainsi que les messages d’avertissement et de diagnostic provenant de
ssh(1).
-R num_requests
Spécifie le nombre de requêtes qui peuvent être en cours à un moment donné. L’augmentation de ce nombre peut légèrement améliorer la vitesse de transfert de fichiers, mais augmentera l’utilisation de la mémoire. La valeur par défaut est de 64 requêtes en attente.
-r
Copie récursivement des répertoires entiers lors du téléchargement et du chargement. Notez que sftp ne suit pas les liens symboliques rencontrés lors du parcours de l’arborescence.
-S program
Nom du programme à utiliser pour la connexion chiffrée. Le programme doit comprendre les options [ssh]({filename}../../ssh)(1).
-s subsystem | sftp_server
Spécifie le sous-système SSH2 ou le chemin d’accès au serveur sftp sur l’hôte distant. Un chemin d’accès est utile lorsque le démon [sshd]({filename}../../sshd)(8) distant n’a pas de sous-système sftp configuré.
-v
Augmente le niveau de journalisation. Cette option est également transmise à ssh.
-X sftp_option
Spécifie une option qui contrôle les aspects du comportement du protocole SFTP. Les options valides sont :
nrequests=value
Contrôle le nombre de requêtes SFTP de lecture ou d’écriture simultanées qui peuvent être en cours à un moment donné pendant un téléchargement ou un chargement. Par défaut, 64 requêtes peuvent être actives simultanément.
buffer=value
Contrôle la taille maximale du tampon pour une seule opération de lecture/écriture SFTP utilisée pendant le téléchargement ou le chargement. Par défaut, un tampon de 32 Ko est utilisé.
COMMANDES INTERACTIVES
Une fois en mode interactif, sftp prend en charge un ensemble de commandes similaires à celles de ftp(1). Les commandes ne sont pas sensibles à la casse. Les chemins d’accès contenant des espaces doivent être placés entre guillemets. Tous les caractères spéciaux contenus dans les chemins d’accès qui sont reconnus par glob(3) doivent être précédés d’une barre oblique inverse (« \ »).
bye
Quitte sftp.
cd [path]
Change le répertoire distant en path. Si path n’est pas spécifié, le répertoire est modifié pour correspondre à celui dans lequel la session a démarré.
chgrp [-h] grp chemin
Modifie le groupe du fichier chemin vers grp. chemin peut contenir des caractères glob(7) et peut correspondre à plusieurs fichiers. grp doit être un GID numérique.
Si le drapeau -h est spécifié, les liens symboliques ne seront pas suivis. Notez que cela n’est pris en charge que par les serveurs qui implémentent l’extension « _ ».
chmod [-h] mode chemin
Modifie les permissions du fichier chemin vers mode. chemin peut contenir des caractères glob(7) et peut correspondre à plusieurs fichiers.
Si le drapeau -h est spécifié, les liens symboliques ne seront pas suivis. Notez que cela n’est pris en charge que par les serveurs qui implémentent l’extension « _ ».
chown [-h] proprietaire chemin
Modifie le propriétaire du fichier chemin vers proprietaire. chemin peut contenir des caractères glob(7) et peut correspondre à plusieurs fichiers. proprietaire doit être un UID numérique.
Si le drapeau -h est spécifié, les liens symboliques ne seront pas suivis. Notez que cela n’est pris en charge que par les serveurs qui implémentent l’extension « _ ».
copy ancien_chemin nouveau_chemin
Copie le fichier distant de ancien_chemin vers nouveau_chemin.
Notez que cela n’est pris en charge que par les serveurs qui implémentent l’extension « copy-data ».
cp ancien_chemin nouveau_chemin
Alias pour la commande copy.
df [-hi] [chemin]
Affiche les informations d’utilisation du système de fichiers contenant le répertoire courant (ou chemin si spécifié). Si le drapeau -h est spécifié, les informations de capacité seront affichées à l’aide de suffixes « lisibles par l’homme ». Le drapeau -i demande l’affichage des informations d’inode en plus des informations de capacité. Cette commande n’est prise en charge que sur les serveurs qui implémentent l’extension « _ ».
exit Quitte sftp.
get [-afpR] chemin_distant [chemin_local]
Récupère chemin_distant et l’enregistre sur la machine locale. Si le chemin local n’est pas spécifié, il prendra le même nom que sur la machine distante. chemin_distant peut contenir des caractères glob(7) et peut correspondre à plusieurs fichiers. Si c’est le cas et que chemin_local est spécifié, alors chemin_local doit spécifier un répertoire.
Si le drapeau -a est spécifié, tente de reprendre les transferts partiels de fichiers existants. Notez que la reprise suppose que toute copie partielle du fichier local correspond à la copie distante. Si le contenu du fichier distant diffère de la copie locale partielle, le fichier résultant risque d’être corrompu.
Si le drapeau -f est spécifié, alors fsync(2) sera appelé après l’achèvement du transfert de fichier pour vider le fichier sur le disque.
Si le drapeau -p est spécifié, alors les permissions complètes du fichier et les heures d’accès sont également copiées.
Si le drapeau -R est spécifié, alors les répertoires seront copiés de manière récursive. Notez que sftp ne suit pas les liens symboliques lors de l’exécution de transferts récursifs.
help Affiche le texte d’aide.
lcd [chemin]
Modifie le répertoire local vers chemin. Si chemin n’est pas spécifié, alors le répertoire est modifié vers le répertoire personnel de l’utilisateur local.
lls [options_ls [chemin]]
Affiche la liste du répertoire local, soit de chemin, soit du répertoire courant si chemin n’est pas spécifié. options_ls peut contenir tous les drapeaux pris en charge par la commande [ls]({filename}../../ls)(1) du système local. chemin peut contenir des caractères glob(7) et peut correspondre à plusieurs fichiers.
lmkdir chemin
Crée un répertoire local spécifié par chemin.
ln [-s] ancienchemin nouveauchemin
Crée un lien depuis ancienchemin vers nouveauchemin. Si le drapeau -s est spécifié, le lien créé est un lien symbolique, sinon, il s’agit d’un lien physique.
lpwd
Affiche le répertoire de travail local.
ls [-1afhlnrSt] [chemin]
Affiche une liste de répertoires distante de chemin ou du répertoire courant si chemin n’est pas spécifié. chemin peut contenir des caractères glob(7) et peut correspondre à plusieurs fichiers.
Les drapeaux suivants sont reconnus et modifient le comportement de ls en conséquence :
-1
Produit une sortie en une seule colonne.
-a
Affiche les fichiers commençant par un point (« . »).
-f
Ne trie pas la liste. L’ordre de tri par défaut est lexicographique.
-h
Lorsqu’il est utilisé avec une option de format long, utilise des suffixes d’unité : octet, kilooctet, mégaoctet, gigaoctet, téraoctet, petaoctet et exaoctet afin de réduire le nombre de chiffres à quatre ou moins en utilisant des puissances de 2 pour les tailles (K=1024, M=1048576, etc.).
-l
Affiche des détails supplémentaires, notamment les informations sur les autorisations et la propriété.
-n
Produit une liste longue avec les informations sur l’utilisateur et le groupe présentées numériquement.
-r
Inverse l’ordre de tri de la liste.
-S
Trie la liste par taille de fichier.
-t
Trie la liste par date de dernière modification.
lumask masque
Définit le masque umask local sur masque.
mkdir chemin
Crée un répertoire distant spécifié par chemin.
progress
Active/désactive l’affichage du compteur de progression.
put [-afpR] chemin_local [chemin_distant]
Télécharge chemin_local et l’enregistre sur la machine distante. Si le nom de chemin distant n’est pas spécifié, il prend le même nom que sur la machine locale. chemin_local peut contenir des caractères glob(7) et peut correspondre à plusieurs fichiers. Si c’est le cas et que chemin_distant est spécifié, alors chemin_distant doit spécifier un répertoire.
Si le drapeau -a est spécifié, tente de reprendre les transferts partiels de fichiers existants.
Notez que la reprise suppose que toute copie partielle du fichier distant correspond à la copie locale. Si le contenu du fichier local diffère de la copie locale distante, le fichier résultant risque d’être corrompu.
Si le drapeau -f est spécifié, une requête est envoyée au serveur pour appeler fsync(2) après le transfert du fichier. Notez que cela n’est pris en charge que par les serveurs qui mettent en œuvre l’extension « _ ».
Si le drapeau -p est spécifié, toutes les autorisations de fichier et les heures d’accès sont également copiées.
Si le drapeau -R est spécifié, les répertoires seront copiés de manière récursive. Notez que sftp ne suit pas les liens symboliques lors de l’exécution de transferts récursifs.
pwd
Affiche le répertoire de travail distant.
quit
Quitte sftp.
reget [-fpR] chemin_distant [chemin_local]
Reprend le téléchargement de chemin_distant. Équivalent à get avec le drapeau -a défini.
reput [-fpR] chemin_local [chemin_distant]
Reprend le téléchargement de chemin_local. Équivalent à put avec le drapeau -a défini.
rename oldpath newpath
Renomme un fichier distant de oldpath à newpath.
rm path
Supprime le fichier distant spécifié par path.
rmdir path
Supprime le répertoire distant spécifié par path.
symlink oldpath newpath
Crée un lien symbolique de oldpath vers newpath.
version
Affiche la version du protocole sftp.
!command
Exécute une commande dans le shell local.
! Permet d'accéder au shell local.
? Synonyme de help.
VOIR AUSSI
ftp(1), ls(1), scp(1), ssh(1), ssh-add(1), ssh-keygen(1), ssh_config(5), glob(7), sftp-server(8), sshd(8)
T. Ylonen et S. Lehtinen, SSH File Transfer Protocol, draft-ietf-secsh-filexfer-00.txt, janvier
2001, document en cours de préparation.