Comando semplice per connettersi al server FTPS sulla riga di comando di Linux


17

Ho un server FTP e FTPS dove posso collegarmi facilmente con FileZilla. Sto cercando un metodo CLI per Linux. Ho pensato di lftpfarlo, ma sembra strano. C'è un altro modo?

Ecco il metodo che ho trovato su Google per connettermi al mio FTPS con lftp. Ma spero che ci sia un modo più semplice:

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 '

Il codice che ho sopra sembra che fallirà - non l'ho ancora provato perché non mi piace, so che è \necessario essere alla fine della riga.

Sto cercando una fodera molto più semplice. Ecco come mi collego da qualsiasi client FileZilla e funziona:

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

Inoltre, funziona:

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

Probabilmente dovresti separarlo in due domande diverse, dal momento che lo sono davvero.
Taegost,

Risposte:


10

Non so se questo non fosse disponibile sulla versione 2013 di lftp, ma ora puoi semplicemente fare:

lftp -u YOUR_USER HOST_ADDRESS

Ad esempio, per connettersi all'host 192.168.1.50con l'utente test, digitare solo quanto segue:

lftp -u test 192.168.1.50

1
Ha funzionato alla grande per me. Ha votato a favore di questo e ha annullato il voto di tutto.
ArtOfWarfare il

9

Se per strano intendi una lunga riga di comando con entrambi i tipi di virgolette, evitala. Usa uno script e salva un segnalibro. Probabilmente non ci sono client ftp migliori di lftp.

  1. salva il tuo script lftp in un file
  2. eseguire lftp senza alcun argomento
  3. fonte lo script
  4. salva un segnalibro.
  5. elimina lo script (per eliminare la password in chiaro)

Usa il segnalibro in futuro. Dovrai capire se le opzioni ssl sono salvate per il segnalibro o se devi persistere quelle impostazioni tramite un file di configurazione lftp globale.


Script di esempio.

$ 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

Uscita campione.

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

6

Oppure puoi farlo in uno script 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

Questo non dovrebbe creare alcuna modifica permanente a lftp in /etc/lftp.conf, o ~ / .lftprc o ~ / .lftp / rc


3

fallirà su alcuni server, perché le impostazioni ssl dovrebbero essere passate prima che il comando open non sia presente. esempio di funzionamento uno:

lftp -c 'set ftp:ssl-allow true ; set ssl:verify-certificate no; open -u USERNAME,PASSWORD -e "cd /; mput LOCAL/PATH/TO/FILE/FILENAME.EXT; quit" HOST'

2

Provo a connettermi al server proftpd con la configurazione sopra ma non riesco ad accedere quindi quando provo questo, va bene.
1. Creare un file di configurazione dello script

vi .lftprc

con il contenuto seguente:

imposta ftp: ssl-auth TLS
imposta ftp: ssl-force vero
imposta ftp: ssl-protect-list sì
imposta ftp: ssl-protect-data sì
imposta ftp: ssl-protect-fxp sì
imposta ssl: verifica-certificato no

  1. Successivamente, connettiti al server:

    nome utente lftp @ nome host

e ora va tutto bene per me!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.