我在Ubuntu服务器上设置了lftp,并且试图连接到IIS FTP。在IIS上,它配置有自签名证书,并使用WinSCP将Ok与SSL的Explicit选项连接起来。但是使用lftp命令虽然可以连接,但是当我输入cat filesget [filename]命令时,出现了534 protection level negotiation failed错误

cd [foldername]这样的命令可以正常工作。
我听不清是怎么回事。 lftp是否需要针对这种情况设置一些特定的选项?

最佳答案

在尝试lftp之后,我将使用bash脚本发布解决方案。所以bash脚本文件的内容是

#!/bin/bash
USER='username'
PASS='password'
HOST='ftp.mydomain.com'
LOCAL_BACKUP_DIR='/backups'
REMOTE_DIR='/backupfiles'

lftp -u $USER,$PASS $HOST <<EOF
set ftp:ssl-protect-data true
set ftp:ssl-force true
set ssl:verify-certificate no
mirror -R -e "$LOCAL_BACKUP_DIR" "$REMOTE_DIR"
quit
EOF

在使用ftp主机的相应参数更改第一部分的情况下,此脚本会将本地目录中的所有文件镜像到远程目录。

由于远程主机是配置了自签名证书的Windows IIS FTP服务器,因此我必须注意脚本中需要set ssl:verify-certificate no命令。同样,虽然IIS/FTP用户必须以HOST | USER的形式输入,例如ftp.mydomain.com |用户名,由于某种原因(如果在lftp USER参数中设置了此设置),验证将失败。您必须省略主机名,仅设置用户名...这样,它就可以成功连接。

关于ubuntu - 无法使用SSL将lftp连接到IIS FTP,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38265530/

10-13 08:17