在Linux命令行上连接FTPS服务器的简单命令


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

Answers:


10

我不知道在2013版的lftp中是否不提供此功能,但是现在您可以执行以下操作:

lftp -u YOUR_USER HOST_ADDRESS

例如,要192.168.1.50使用user 连接到主机test,只需键入以下内容:

lftp -u test 192.168.1.50

1
对我来说很棒。对此进行了投票,并对前面的所有内容进行了投票。
ArtOfWarfare

9

如果奇怪的是您要用两种引号括起来的命令行很长,那就避免它。使用脚本并保存书签。可能没有比lftp更好的ftp客户端。

  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

或者,您可以在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

这不应在/etc/lftp.conf或〜/ .lftprc或〜/ .lftp / rc中创建任何永久的lftp更改


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-force true
设置ftp:ssl-protect-list是
设置ftp:ssl-protect-data是
设置ftp:ssl-protect-fxp是
设置ssl:verify-certificate否

  1. 之后,连接到服务器:

    lftp用户名@主机名

对我来说,现在一切都OK!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.