Проста команда для підключення до сервера FTPS в командному рядку Linux


17

У мене є сервер FTP і FTPS, де я можу легко з'єднатися з FileZilla. Я шукаю метод Linux CLI. Я думав, lftpщо це робить, але це здається дивним. Чи є інший спосіб?

Ось метод, який я знайшов в Google для підключення до мого FTPS lftp. Але я сподіваюся, що існує простіший спосіб:

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 '

Код, який я отримав вище, схоже, що він вийде з ладу - ще не пробував, оскільки мені це не подобається, я знаю, що \потрібно бути в кінці рядка.

Я шукаю набагато простіший один лайнер. Ось як я підключаюся з будь-якого клієнта FileZilla, і він працює:

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

Також це працює:

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

Вам, мабуть, слід розділити це на два різні питання, оскільки вони є насправді.
Taegost

Відповіді:


10

Я не знаю, чи це було недоступно у версії lftp 2013 року, але тепер ви можете просто зробити:

lftp -u YOUR_USER HOST_ADDRESS

Наприклад, щоб підключитися до хоста 192.168.1.50з користувачем test, ви вводите лише наступне:

lftp -u test 192.168.1.50

1
Для мене чудово працювали. Викликав це і заборонив усе попереду.
ArtOfWarfare

9

Якщо дивно ви маєте на увазі довгий командний рядок з обома типами лапок, просто уникайте його. Скористайтеся сценарієм і збережіть закладку. Напевно, немає кращих ftp клієнтів, ніж lftp.

  1. збережіть сценарій lftp у файлі
  2. запустити lftp без жодних аргументів
  3. джерело сценарію
  4. зберегти закладку.
  5. видалити сценарій rhe (щоб позбутися пароля чистого тексту)

Використовуйте закладку в майбутньому. Вам доведеться розібратися, чи збережені параметри ssl для закладок чи вам доведеться зберегти ці налаштування через глобальний файл конфігурації lftp.


Зразок сценарію.

$ 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

Вибірка зразка

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

6

Або ви можете зробити це в баш-скрипті:

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

Це не повинно створювати постійних змін lftp у /etc/lftp.conf, ~ / .lftprc або ~ / .lftp / rc


3

на деяких серверах це не вдасться, тому що параметри ssl повинні бути передані перед відкритою командою, а не з неї. приклад роботи одного:

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

Я намагаюся підключитися до proftpd-сервера з вищевказаним конфігурацією, але він не може увійти, тому коли я намагаюся це, це нормально.
1. Створіть конфігураційний файл сценарію

vi .lftprc

із вмістом нижче:

встановити ftp: ssl-auth TLS
встановити ftp: ssl-сила істинно
встановити ftp: ssl-захист-список так
встановити ftp: ssl-захист-дані так
встановити ftp: ssl-захист-fxp так
встановити ssl: перевірити-сертифікат ні

  1. Після цього підключіться до сервера:

    lftp ім'я користувача @ ім'я хоста

і для мене це все нормально!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.