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

Einfacher Befehl zum Verbinden mit dem FTPS-Server auf der Linux-Kommandozeile

Ich habe einen FTP- und FTPS-Server, mit dem ich mich problemlos mit FileZilla verbinden kann. Ich bin auf der Suche nach einer Linux-CLI-Methode. Ich dachte, lftp macht es, aber es scheint seltsam zu sein. Gibt es einen anderen Weg?

Hier ist die Methode, die ich bei Google gefunden habe, um eine Verbindung zu meinem FTPS mit lftp herzustellen. Aber ich hoffe, es gibt einen einfacheren Weg:

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 '

Der Code, den ich oben gefunden habe, sieht aus, als würde er fehlschlagen - ich habe ihn noch nicht ausprobiert, da er mir nicht gefällt, ich weiß, dass die Ich habe einen FTP- und FTPS-Server, mit dem ich mich problemlos mit FileZilla verbinden kann. Ich bin auf der Suche nach einer Linux-CLI-Methode. Ich dachte,lftp` macht es, aber es scheint seltsam zu sein. Gibt es einen anderen Weg?

Hier ist die Methode, die ich bei Google gefunden habe, um eine Verbindung zu meinem FTPS mit lftp herzustellen. Aber ich hoffe, es gibt einen einfacheren Weg:

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 '

Der Code, den ich oben gefunden habe, sieht aus, als würde er fehlschlagen - ich habe ihn noch nicht ausprobiert, da er mir nicht gefällt, ich weiß, dass die am Ende der Zeile stehen müssen.

Ich bin auf der Suche nach einem viel einfacheren Einzeiler. So verbinde ich mich von einem beliebigen FileZilla-Client und es funktioniert:

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

Außerdem funktioniert dies:

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

Odpowiedzi (5)

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

Ich weiß nicht, ob dies in der 2013er Version von lftp nicht verfügbar war, aber jetzt können Sie einfach Folgendes tun:

lftp -u YOUR_USER HOST_ADDRESS

Um sich beispielsweise mit dem Host 192.168.1.50 mit dem Benutzer test zu verbinden, müssen Sie nur Folgendes eingeben:

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

Wenn Sie mit “seltsam” eine lange Befehlszeile mit beiden Arten von Anführungszeichen meinen, vermeiden Sie sie einfach. Verwenden Sie ein Skript und speichern Sie ein Lesezeichen. Es gibt wahrscheinlich keine besseren ftp-Clients als lftp.

  1. speichern Sie Ihr lftp-Skript in einer Datei
  2. starten Sie lftp ohne Argumente
  3. rufen Sie das Skript auf
  4. speichern Sie ein Lesezeichen.
  5. löschen Sie das Skript (um das Klartext-Passwort loszuwerden)

Verwenden Sie das Lesezeichen in der Zukunft. Sie müssen herausfinden, ob ssl-Optionen für das Lesezeichen gespeichert werden oder ob Sie diese Einstellungen über eine globale lftp-Konfigurationsdatei beibehalten müssen.


Beispielskript.

$ 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

Beispielhafte Ausgabe.

$ lftp
lftp :~> source lftp.ssl.commands
lftp HOSTNAME:~> dir
`ls' at 0 [Connecting...]
6
6
6
2016-01-29 15:13:50 +0000

Oder Sie können dies in einem Bash-Skript tun:

#!/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

Dies sollte keine dauerhaften lftp-Änderungen in /etc/lftp.conf, oder ~/.lftprc, oder ~/.lftp/rc erzeugen

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

Ich versuche, eine Verbindung zum Proftpd-Server mit der obigen Konfiguration herzustellen, aber er kann sich nicht anmelden, und wenn ich dies probiere, ist es ok.
1. Erstellen Sie eine Skriptkonfigurationsdatei

vi .lftprc

mit folgendem Inhalt:

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. Danach verbinden Sie sich mit dem Server:

lftp username@hostname

und schon ist alles in Ordnung bei mir!