111 votes

Sftp en ligne simple à partir du terminal

Plusieurs fois dans la journée, je peux être amené à effectuer un test au cours duquel je dois consulter un fichier journal sur un serveur distant. J'ai pris l'habitude d'utiliser mon terminal pour sftp dans le serveur distant et tirer le fichier journal souhaité vers le bas pour /tmp sur ma machine locale.

Je regardais les options aujourd'hui en utilisant man sftp pour essayer de trouver un moyen d'exécuter les commandes suivantes sur une seule ligne, afin de ne pas avoir à taper une commande, appuyer sur la touche Entrée, taper une commande, appuyer sur la touche Entrée, etc.

(ce que je fais maintenant)

sftp myuser@myserver
--mypassword at prompt
lcd /tmp
get /dir/dir/dir/dir/file
quit

Je l'ai trouvé en regardant man sftp une référence à scp que je n'ai jamais utilisé auparavant. Je pense que c'est peut-être ce que je recherche, mais je n'ai pas vu de moyen de spécifier où je voulais que le fichier copié en toute sécurité aille.

Quelqu'un pourrait-il me fournir un moyen d'obtenir /dir/file à partir d'un serveur distant et de le télécharger vers /tmp/file_plus-my-description ?

J'espérais pouvoir exécuter une commande sftp ou scp similaire à une copie UNIX normale, par exemple :

scp myuser@myserver /dir/file /tmp/file_plus-my-description

J'utilise la fonction intégrée Terminal dans Mac OS X 10.8. Merci.

3voto

Martin Prikryl Points 4584

OpenSSH scp supporte le protocole SFTP depuis la version 8.7 .

Depuis OpenSSH 9.0 le site scp utilise SFTP par défaut.

Dans 8.7 à 8.9, le SFTP doit être sélectionné via -s paramètre.

Télécharger :

scp -s user@host:/remote/source/path /local/target/path

Télécharger :

scp -s /local/source/path user@host:/remote/target/path

2voto

user2443447 Points 151

Une modification mineure comme ci-dessous a fonctionné pour moi en l'utilisant à partir de perl et de l'appel system() :

sftp {user}@{host} <<< $'put {local_file_path} {remote_file_path}'

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X