use*_*137 22 ftp command-line ftps
我有一个 FTP 和 FTPS 服务器,我可以在其中使用 FileZilla 轻松连接。我正在寻找一种 linux CLI 方法。我以为lftp可以,但似乎很奇怪。还有其他方法吗?
这是我在 Google 上找到的使用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 '
Run Code Online (Sandbox Code Playgroud)
我上面得到的代码看起来会失败——我还没有尝试过,因为我不喜欢它,我知道\需要在行尾。
我正在寻找一种更简单的单衬。以下是我从任何 FileZilla 客户端连接的方式,它的工作原理是:
ftps://username:password@ftp.server.com/
Run Code Online (Sandbox Code Playgroud)
此外,这有效:
ftps://username:password@ftp.server.com/
Run Code Online (Sandbox Code Playgroud)
小智 15
我不知道这是否在 2013 版的 lftp 上不可用,但现在您可以简单地执行以下操作:
lftp -u YOUR_USER HOST_ADDRESS
Run Code Online (Sandbox Code Playgroud)
例如,要192.168.1.50使用 user连接到主机test,您只需键入以下内容:
lftp -u test 192.168.1.50
Run Code Online (Sandbox Code Playgroud)
如果奇怪的是您的意思是带有两种引号的长命令行,请避免使用它。使用脚本并保存书签。可能没有比 lftp 更好的 ftp 客户端了。
将来使用书签。您必须弄清楚是否为书签保存了 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
Run Code Online (Sandbox Code Playgroud)
样本输出。
$ lftp
lftp :~> source lftp.ssl.commands
lftp HOSTNAME:~> dir
`ls' at 0 [Connecting...]
Run Code Online (Sandbox Code Playgroud)
小智 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
Run Code Online (Sandbox Code Playgroud)
这不应在 /etc/lftp.conf 或 ~/.lftprc 或 ~/.lftp/rc 中创建任何永久的 lftp 更改
小智 6
它在某些服务器上会失败,因为 ssl 设置应该在 open 命令之前传递,而不是在其中。工作示例一:
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'
Run Code Online (Sandbox Code Playgroud)
小智 5
我尝试使用上述配置连接到 Proftpd 服务器,但它不起作用。
但是,当我尝试连接以下配置时,它可以工作:
使用以下命令创建配置文件vi:
vi .lftprc
Run Code Online (Sandbox Code Playgroud)
将以下内容放入.lftprc文件中:
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
Run Code Online (Sandbox Code Playgroud)
使用以下命令连接到服务器:
lftp username@hostname
Run Code Online (Sandbox Code Playgroud)
就是这样!
简单的
在这里你有:ftp-ssl
默认情况下尝试通过 SSL 或 TLS 连接。它不需要特定的选项或设置。如果安全连接不可用,则执行标准 FTP 连接。
ftp-ssl <Server IP address or Server Name>
Run Code Online (Sandbox Code Playgroud)
例如,ftp-ssl 192.168.35.100或者ftp-ssl lovedByJesus
文档摘录:
ftp-ssl 使用 SSL 或 TLS 身份验证和加密替换普通 ftp。它与普通 ftpd 互操作。它检查对方是否也在使用 SSL 或 TLS,如果不是,则返回到正常的 ftp 协议。
| 归档时间: |
|
| 查看次数: |
176681 次 |
| 最近记录: |