Perintah sederhana untuk terhubung ke server FTPS di baris perintah Linux

17

Saya memiliki server FTP dan FTPS tempat saya dapat terhubung dengan mudah dengan FileZilla. Saya mencari metode linux CLI. Saya pikir lftpmelakukannya, tetapi tampaknya aneh. Apakah ada cara lain?

Berikut adalah metode yang saya temukan di Google untuk terhubung ke FTPS saya dengan lftp. Tapi saya harap ada cara yang lebih mudah:

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 '

Kode yang saya dapatkan di atas kelihatannya akan gagal - belum mencobanya karena saya tidak menyukainya, saya tahu bahwa \harus ada di akhir baris.

Saya mencari satu liner yang lebih sederhana. Inilah cara saya terhubung dari klien FileZilla apa pun dan berfungsi:

ftps://username:[email protected]/

Juga, ini berfungsi:

ftps://username:[email protected]/
pengguna240137
sumber
Anda mungkin harus memisahkan ini menjadi dua pertanyaan yang berbeda, karena memang benar demikian.
Taegost

Jawaban:

10

Saya tidak tahu apakah ini tidak tersedia pada versi lftp 2013, tetapi sekarang Anda dapat melakukannya:

lftp -u YOUR_USER HOST_ADDRESS

Misalnya, untuk terhubung ke host 192.168.1.50dengan pengguna test, Anda hanya mengetik berikut ini:

lftp -u test 192.168.1.50
McSonk
sumber
1
Bekerja dengan baik untuk saya. Upvoted ini dan downvoted segalanya di depannya.
ArtOfWarfare
9

Jika aneh yang Anda maksud adalah baris perintah yang panjang dengan kedua jenis kutipan, hindari saja. Gunakan skrip dan simpan bookmark. Mungkin tidak ada klien ftp yang lebih baik daripada lftp.

  1. simpan skrip lftp Anda dalam file
  2. jalankan lftp tanpa argumen
  3. sumber skrip
  4. simpan bookmark.
  5. hapus skrip ini (untuk menghilangkan kata sandi teks-jelas)

Gunakan bookmark di masa depan. Anda harus mencari tahu apakah opsi ssl disimpan untuk bookmark atau jika Anda harus bertahan pengaturan itu melalui file konfigurasi lftp global.


Contoh skrip.

$ 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

Output sampel.

$ lftp
lftp :~> source  lftp.ssl.commands
lftp HOSTNAME:~> dir
`ls' at 0 [Connecting...]
Ярослав Рахматуллин
sumber
6

Atau Anda dapat melakukan ini dalam skrip 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

Ini seharusnya tidak membuat perubahan lftp permanen di /etc/lftp.conf, atau ~ / .lftprc, atau ~ / .lftp / rc

RyanS
sumber
3

itu akan gagal pada beberapa server, karena pengaturan ssl harus dilewati sebelum perintah terbuka tidak di dalamnya. contoh kerja satu:

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'
Abu-Sadek
sumber
2

Saya coba sambungkan ke server proftpd dengan konfigurasi di atas tetapi tidak bisa masuk jadi ketika saya coba ini, tidak masalah.
1. Buat file konfigurasi skrip

vi .lftprc

dengan konten di bawah ini:

set ftp: ssl-auth TLS
set ftp: ssl-force true
set ftp: ssl-protect-list ya
set ftp: ssl-protect-data ya
set ftp: ssl-protect-fxp ya
set ssl: verifikasi-sertifikat tidak

  1. Setelah itu, hubungkan ke server:

    nama pengguna @ hostname lftp

dan itu semua OK untuk saya sekarang!

quan.nd
sumber