2013-07-23 16:29:23 +0000 2013-07-23 16:29:23 +0000
17
17

Commande simple pour se connecter au serveur FTPS sur la ligne de commande Linux

Je dispose d'un serveur FTP et FTPS auquel je peux me connecter facilement avec FileZilla. Je cherche une méthode CLI linux. Je pensais que lftp le fait, mais ça me semble bizarre. Y a-t-il une autre méthode ?

Voici la méthode que j'ai trouvée sur Google pour me connecter à mon FTPS avec lftp. Mais j'espère qu'il y a un moyen plus simple :

lftp -c 'open -e "set ftps:initial-prot ""; \
   set ftp:ssl-force true; \
   set ftp:ssl-protect-data true; \
   put test.txt; " \
   -u "USERNAME","PASSWORD" \
   ftps://HOSTNAME:990 '

Le code que j'ai obtenu ci-dessus semble devoir échouer - je ne l'ai pas encore essayé car je ne l'aime pas, je sais que le Je dispose d'un serveur FTP et FTPS auquel je peux me connecter facilement avec FileZilla. Je cherche une méthode CLI linux. Je pensais quelftp` le fait, mais ça me semble bizarre. Y a-t-il une autre méthode ?

Voici la méthode que j'ai trouvée sur Google pour me connecter à mon FTPS avec lftp. Mais j'espère qu'il y a un moyen plus simple :

lftp -c 'open -e "set ftps:initial-prot ""; \
   set ftp:ssl-force true; \
   set ftp:ssl-protect-data true; \
   put test.txt; " \
   -u "USERNAME","PASSWORD" \
   ftps://HOSTNAME:990 '

Le code que j'ai obtenu ci-dessus semble devoir échouer - je ne l'ai pas encore essayé car je ne l'aime pas, je sais que le doit être en fin de ligne.

Je cherche un paquebot beaucoup plus simple. Voici comment je me connecte depuis n'importe quel client FileZilla et ça marche :

ftps://username:password@ftp.server.com/

Cela fonctionne aussi :

ftps://username:password@ftp.server.com/

Réponses (5)

10
10
10
2016-04-14 06:26:07 +0000

Je ne sais pas si cela n'était pas disponible sur la version 2013 de lftp, mais maintenant vous pouvez simplement faire :

lftp -u YOUR_USER HOST_ADDRESS

Par exemple, pour vous connecter à l'hôte 192.168.1.50 avec l'utilisateur test, vous tapez seulement ce qui suit :

lftp -u test 192.168.1.50
9
9
9
2013-07-23 20:43:30 +0000

Si par bizarre vous entendez une longue ligne de commande avec les deux types de citations, évitez-la. Utilisez un script et enregistrez un signet. Il n'y a probablement pas de meilleurs clients ftp que lftp.

  1. sauvegardez votre script lftp dans un fichier
  2. lancez lftp sans aucun argument
  3. source du script
  4. sauvegardez un signet.
  5. supprimer le script rhe (pour se débarrasser du mot de passe en clair)

utiliser le signet à l'avenir. Vous devrez déterminer si les options ssl sont sauvegardées pour le signet ou si vous devez persister dans ces paramètres via un fichier de configuration lftp global.


Exemple de script.

$ cat lftp.ssl.commands
user moo foopass
set ftps:initial-prot "";
set ftp:ssl-force true;
set ftp:ssl-protect-data true;
open ftps://HOSTNAME:990
  • *

Exemple de sortie.

$ lftp
lftp :~> source lftp.ssl.commands
lftp HOSTNAME:~> dir
`ls' at 0 [Connecting...]
``` * * 


Exemple de sortie.
6
6
6
2016-01-29 15:13:50 +0000

Ou vous pouvez le faire dans un scénario de bash :

#!/bin/bash
lftp <<SCRIPT
set ftps:initial-prot ""
set ftp:ssl-force true
set ftp:ssl-protect-data true
open ftps://<hostname>:990
user <user> <password>
lcd /tmp
cd <ftp_folder_hierarchy>
put foo.txt
exit
SCRIPT

Cela ne devrait pas créer de changements permanents de lftp dans /etc/lftp.conf, ou ~/.lftprc, ou ~/.lftp/rc

3
3
3
2016-05-05 12:06:54 +0000
2
2
2
2018-03-25 01:39:10 +0000

J'essaie de me connecter au serveur proftpd avec la configuration ci-dessus mais il ne peut pas se connecter, donc quand j'essaie ceci, c'est OK.
1. créer un fichier de configuration de script

vi .lftprc

avec le contenu ci-dessous :

set ftp:ssl-auth TLS set ftp:ssl-force true set ftp:ssl-protect-list yes set ftp:ssl-protect-data yes set ftp:ssl-protect-fxp yes set ssl:verify-certificate no

  1. Après cela, connectez-vous au serveur :

lftp username@hostname

et c'est tout bon pour moi maintenant !