Récemment, un certain nombre de clients VOS et OpenVOS sont passés du client FTP standard (ftp.pm) au client FTP sécurisé (sftp.pm). Il existe deux raisons principales pour préférer sftp à ftp. Premièrement, sftp n'envoie jamais le mot de passe en clair ; celui-ci est toujours chiffré. Deuxièmement, sftp chiffre les données pendant leur transmission. Cependant, il semble que de nombreux clients aient écrit des macros de commande VOS qui fournissaient un identifiant utilisateur et un mot de passe « prédéfinis » à FTP, et ils ont remarqué que, bien qu'il soit possible de prédéfinir l'identifiant utilisateur pour SFTP, il n'existe aucun moyen de prédéfinir le mot de passe. Vous devez attendre que la commande SFTP vous invite à saisir le mot de passe, que vous entrez ensuite au clavier.
Il s'agit d'une procédure standard pour SFTP sur tous les systèmes d'exploitation. Vous n'apprécierez peut-être pas ce comportement au premier abord, mais SFTP vous rend service. Il lit délibérément le mot de passe directement depuis le terminal ; il ne le lit pas depuis « stdin ». Les auteurs de SFTP ont estimé que le fait d'enregistrer un mot de passe dans un fichier ou un script shell constituait une mauvaise pratique ; c'est en effet très peu sûr.
Heureusement, les auteurs de sftp ont proposé une excellente solution à ce problème. Ils ont mis en place une authentification des utilisateurs via un mécanisme de clé publique. Si vous placez votre clé privée dans le sous-répertoire .ssh de votre home sur le module source (la machine sur laquelle vous utilisez les commandes sftp ou ssh), et que vous placez votre clé publique dans le même répertoire sur les modules cibles, vous pouvez alors vous connecter (ou utiliser sftp) sans jamais avoir à fournir de mot de passe.
Ce système est sécurisé car le logiciel vérifie, avant d'utiliser votre clé privée, que personne d'autre ne peut modifier votre home et que personne d'autre ne peut lire les fichiers de votre sous-répertoire .ssh. Étant donné que seule votre clé publique est stockée sur un serveur distant, même si ce serveur est compromis, il n'y a aucun problème de sécurité car votre clé publique est, par définition, publique ; n'importe qui est autorisé à la lire. Votre clé privée reste toujours sur votre machine locale et n'est jamais transmise sur le réseau. Il s'agit d'une propriété essentielle du protocole SSH2 sous-jacent. La puissance de calcul nécessaire pour pirater ce protocole dépasse largement celle dont on dispose actuellement. Le protocole est sécurisé même face à quelqu'un capable de voir tous les paquets.
Ne vous inquiétez donc pas du fait que la commande SFTP ne remplace pas tout simplement le protocole FTP. Profitez de sa sécurité renforcée tout en bénéficiant de ses améliorations en matière de facilité d'utilisation. Abandonnez ces mots de passe statiques et passez aux clés publiques/privées.
