Einfacher Befehl zum Herstellen einer Verbindung zum FTPS-Server auf der Linux-Befehlszeile

Ich habe einen FTP-und FTPS-Server, mit dem ich mich problemlos mit FileZilla verbinden kann. Ich suche nach einer Linux-CLI-Methode. Ich dachte, lftp tut es, aber es scheint seltsam. Gibt es einen anderen Weg?

Hier ist die Methode, die ich bei Google gefunden habe, um mit lftp eine Verbindung zu meinen FTPS 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 erhalten habe, sieht so aus, als würde er fehlschlagen – ich habe ihn noch nicht ausprobiert, da er mir nicht gefällt, ich weiß, dass sich das \ am Ende der Zeile befinden muss.

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

ftps://username:[email protected]/

Das funktioniert auch:

ftps://username:[email protected]/
Author: slhck, 2013-07-23

6 answers

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

lftp -u YOUR_USER HOST_ADDRESS

Um beispielsweise mit user test eine Verbindung zum Host 192.168.1.50 herzustellen, geben Sie nur Folgendes ein:

lftp -u test 192.168.1.50
 12
Author: McSonk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-04-14 06:26:07

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. lftp ohne Argumente ausführen
  3. Quelle das Skript
  4. Lesezeichen speichern.
  5. rhe-Skript löschen (um das Klartext-Passwort loszuwerden)

Verwenden Sie das Lesezeichen in der Zukunft. Sie müssen herausfinden, ob SSL-Optionen gespeichert sind für das Lesezeichen oder wenn 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

Beispielausgabe.

$ lftp
lftp :~> source  lftp.ssl.commands
lftp HOSTNAME:~> dir
`ls' at 0 [Connecting...]
 9
Author: Ярослав Рахматуллин,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-07-23 20:43:30

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 permanenten lftp-Änderungen in /etc/lftp erzeugen.conf oder ~/.lftprc, oder ~/.lftp/rc

 6
Author: RyanS,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-01-29 15:13:50

Es schlägt auf einigen Servern fehl, da SSL-Einstellungen vor dem Befehl open übergeben werden sollten, der nicht darin enthalten ist. beispiel für die Arbeit eines:

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'
 4
Author: Abu-Sadek,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-05-05 12:06:54

Ich versuche, eine Verbindung zum proftpd-Server mit der obigen Konfiguration herzustellen, kann mich aber nicht anmelden also, wenn ich das versuche, ist es Ok.
1. Erstellen Sie eine Skript-Konfigurationsdatei

Vi .lftprc

Mit folgendem Inhalt:

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

  1. Danach Verbindung zum Server herstellen:

    Lftp Benutzername@Hostname

Und das ist jetzt alles OK für mich!

 3
Author: quan.nd,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-03-25 01:45:23

Einfach

Hier haben Sie: ftp-ssl

Versucht standardmäßig, eine Verbindung über SSL oder TLS herzustellen. Es braucht keine besonderen Optionen oder Einstellungen. Und wenn eine sichere Verbindung nicht verfügbar ist, führt eine Standard-FTP-Verbindung.

ftp-ssl <Server IP address or Server Name>

Zum Beispiel ftp-ssl 192.168.35.100 oder ftp-ssl lovedByJesus

Ein Auszug aus der Dokumentation:

Ftp-ssl ersetzt normales FTP mit SSL - oder TLS-Authentifizierung und Verschlüsselung. Es funktioniert mit normalen ftpd. Es prüft, ob der andere Seite spricht auch SSL oder TLS, wenn nicht, fällt es auf normales FTP zurück Protokoll.

 0
Author: loved.by.Jesus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-10-27 07:52:11