Comando simples para se conectar ao servidor FTPS na linha de comando do Linux

12

Eu tenho um servidor FTP e FTPS onde posso me conectar facilmente com o FileZilla. Eu estou procurando um método Linux CLI. Eu pensei que lftp faz isso, mas parece estranho. Existe outro jeito?

Aqui está o método que encontrei no Google para me conectar ao meu FTPS com lftp . Mas espero que haja uma maneira mais fácil:

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 '

O código que obtive acima parece que irá falhar - ainda não tentei, pois não gosto disso, sei que \ precisa estar no final da linha.

Estou procurando um forro muito mais simples. Aqui está como eu me conecto de qualquer cliente FileZilla e funciona:

ftps://username:[email protected]/

Além disso, isso funciona:

ftps://username:[email protected]/
    
por user240137 23.07.2013 / 18:29

5 respostas

6

Se por estranho você quer dizer uma longa linha de comando com os dois tipos de citações, apenas evite. Use um script e salve um marcador. Provavelmente não há clientes ftp melhores que o lftp.

  1. salve seu script lftp em um arquivo
  2. executa o lftp sem argumentos
  3. fonte do script
  4. salva um marcador.
  5. exclua o script (para se livrar da senha de texto não criptografado)

Use o marcador no futuro. Você terá que descobrir se as opções SSL são salvas para o marcador ou se você tiver que persistir essas configurações através de um arquivo de configuração lftp global.

Exemplo de script.

$ 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

Exemplo de saída.

$ lftp
lftp :~> source  lftp.ssl.commands
lftp HOSTNAME:~> dir
'ls' at 0 [Connecting...]
    
por 23.07.2013 / 22:43
5

Eu não sei se isso não estava disponível na versão 2013 do lftp, mas agora você pode simplesmente fazer:

lftp -u YOUR_USER HOST_ADDRESS

Por exemplo, para conectar-se ao host 192.168.1.50 com o usuário test , você só digita o seguinte:

lftp -u test 192.168.1.50
    
por 14.04.2016 / 08:26
4

Ou você pode fazer isso em um 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

Isso não deve criar nenhuma mudança permanente de lftp em /etc/lftp.conf, ou ~ / .lftprc, ou ~ / .lftp / rc

    
por 29.01.2016 / 16:13
3

ele falhará em alguns servidores, porque as configurações de SSL devem ser passadas antes do comando de abertura não dentro dele. exemplo de trabalhar um:

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'
    
por 05.05.2016 / 14:06
0

Eu tento conectar-me ao servidor proftpd com a configuração acima, mas ele não pode entrar então quando eu tento isso, tudo bem.
1. Crie um arquivo de configuração de script

vi .lftprc

com conteúdo abaixo:

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. Depois disso, conecte-se ao servidor:

    lftp username@hostname

e está tudo bem para mim agora!

    
por 25.03.2018 / 03:39