Gulp Vinyl FTP ECONNRESET error after FEAT command - ftp

I am attempting to use the gulp-vinyl-ftp plugin to upload to a remote site.
gulp.task("deploy", ["default"], function () {
var conn = ftp.create({
host: "mywebsite",
user: "****",
password: "******",
// secure: true,
timeOffset: -301,
parallel: 1,
debug: gutil.log
});
var globs = [
"distr/**/*.php",
"!out/vendor/**",
"!out/config.php",
"out/**/*.map",
"out/**/*.css",
"out/**/*.js"
];
return gulp.src(globs)
.pipe(conn.newer("/")).pipe(debug({ title: "Deploy New: " }))
});
However, I am receiving the following error:
events.js:182
throw er; // Unhandled 'error' event
^
Error: read ECONNRESET
at exports._errnoException (util.js:1016:11)
at TCP.onread (net.js:609:25)
The debug output is as follows:
[08:37:28] [connection] < '220 Microsoft FTP Service\r\n'
[08:37:28] [parser] < '220 Microsoft FTP Service\r\n'
[08:37:28] [parser] Response: code=220, buffer='Microsoft FTP Service'
[08:37:28] [connection] > 'USER xxx'
[08:37:29] [connection] < '331 Password required\r\n'
[08:37:29] [parser] < '331 Password required\r\n'
[08:37:29] [parser] Response: code=331, buffer='Password required'
[08:37:29] [connection] > 'PASS xxxx'
[08:37:29] [connection] < '230 User logged in.\r\n'
[08:37:29] [parser] < '230 User logged in.\r\n'
[08:37:29] [parser] Response: code=230, buffer='User logged in.'
[08:37:29] [connection] > 'FEAT'
It ends there.
However, I can connect just fine through WinSCP.
. 2017-11-08 08:36:24.161 Connecting to mywebsite ...
. 2017-11-08 08:36:24.192 Connected with mywebsite. Waiting for welcome message...
< 2017-11-08 08:36:24.285 220 Microsoft FTP Service
> 2017-11-08 08:36:24.285 USER xxxx
< 2017-11-08 08:36:24.379 331 Password required
> 2017-11-08 08:36:25.861 PASS ********
< 2017-11-08 08:36:25.970 230 User logged in.
> 2017-11-08 08:36:25.970 SYST
. 2017-11-08 08:36:26.064 The server is probably running Windows, assuming that directory listing timestamps are affected by DST.
< 2017-11-08 08:36:26.064 215 Windows_NT
> 2017-11-08 08:36:26.064 FEAT
< 2017-11-08 08:36:26.157 211-Extended features supported:
< 2017-11-08 08:36:26.157 LANG EN*
< 2017-11-08 08:36:26.157 UTF8
< 2017-11-08 08:36:26.157 AUTH TLS;TLS-C;SSL;TLS-P;
< 2017-11-08 08:36:26.157 PBSZ
< 2017-11-08 08:36:26.157 PROT C;P;
< 2017-11-08 08:36:26.157 CCC
< 2017-11-08 08:36:26.157 HOST
< 2017-11-08 08:36:26.157 SIZE
< 2017-11-08 08:36:26.157 MDTM
< 2017-11-08 08:36:26.157 REST STREAM
< 2017-11-08 08:36:26.157 211 END
> 2017-11-08 08:36:26.157 OPTS UTF8 ON
< 2017-11-08 08:36:26.251 200 OPTS UTF8 command successful - UTF8 encoding now ON.
. 2017-11-08 08:36:26.298 Connected
I have tried both the IP address and domain name in the host field, commenting out the the timeOffset and parallel options.
I am not sure where to go from here honestly; any advice would be appreciated.
Thanks.

You will find lot of posts about IIS mysteriously (and inconsistently) closing a connection after receiving FEAT command.
I have not found any definitive solution, but working workaround seems to be to deny the FEAT command (if Gulp can handle that).
In IIS manager, go to FTP > FTP Request Filtering > Commands tab > Actions > Deny command and type FEAT.
See also Microsoft FTP fails to connect after the client requests the list of features (FEAT).

Related

Send emails via CURL (shell script) CURL command returned 0 but the receiver didn't receive the attached files but the message

I've run into a problem with sending emails via CURL using shell script.
I have a script that do:
Download dashboards from our Tableau server (private) via tabcmd command then save these files into a directory.
Send these files to receivers using a SMTP sever (private) via CURL. Both Tableau Server and SMTP server are installed on a container CENTOS 7. I have CURL version 7.29.
I have a list of dashboards and list of emails. For each dashboard (that has a unique URL), the script downloads the dashboard files and then send the files to receiver.
My problem is that for some receivers they received their attached files but others didn't. I checked the stdout of CURL command, it returned that
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* About to connect() to services.xxxx.xx.xxxx.xxx port 25 (#0)
* Trying xxx.xxx.xxxx.xxx...
* Connected to services.xxxx.xx.xxxx.xxx (xxx.xxx.xxx.xxx) port 25 (#0)
< 220 xxxxx.xxxxx.xxxx.xxxx ESMTP Postfix
> EHLO tableau
< xxxxx.xxxxx.xxxx.xxxx
< 250-PIPELINING
< 250-SIZE 10240000
< 250-VRFY
< 250-ETRN
< 250-STARTTLS
< 250-ENHANCEDSTATUSCODES
< 250-8BITMIME
< 250-DSN
< 250-SMTPUTF8
< 250 CHUNKING
> MAIL FROM:<xxxxx#yyyy.email.com>
< 250 2.1.0 Ok
> RCPT TO:<xxxx#yyyy.hotmail.com>
< 250 2.1.5 Ok
> DATA
< 354 End data with <CR><LF>.<CR><LF>
} [data not shown]
< 250 2.0.0 Ok: queued as 2xxxxx
0 0 0 0 0 130k 0 5735k --:--:-- --:--:-- --:--:-- 5932k
* Connection #0 to host services.xxxx.xx.xxxx.xxx left intact
This means that the email is sent successfully with attached files. But the receiver didn't receive the attached files. I also checked that the files were in the directory.
The code to send email is something like that:
send_pdf(){
receiver="$1"
subject="$2"
message="$3"
num_file_attaches=$(expr $# - 3)
eval body=$(cat parameters/data.txt)
for file in "${#:4}"; do
add_file "$body" "$file"
done
body+="--MULTIPART-MIXED-BOUNDARY--"
echo -e "$body" | curl -s "$SMTP_SERVER" \
--mail-from "$SENDER" \
--mail-rcpt "$receiver"\
-T -
}
and the function add_file
add_file() {
body="$1"
file_attach="$2"
name_file_attach=$(basename $file_attach)
file_base64=$(cat $file_attach | base64)
MIMEType=`file --mime-type "$file_attach" | sed 's/.*: //'`
body+="--MULTIPART-MIXED-BOUNDARY\nContent-Type: $MIMEType;name=${name_file_attach}\nContent-Transfer-Encoding: base64\nContent-Disposition: attachment;filename=${name_file_attach}\n\n\n${file_base64}\n\n\n"
}
For each time I test with my emails, the script works but when I replace my email by those of clients, there are always some clients who didn't receive attached files. However, these clients received the message.
I can't do some tests with emails of clients :( So, I can't reproduce the problem.
Does anyone have any idea where the problem could come from or how can I reproduce the problem?
Many thanks,

WinSCP, .NET library, checksum support

I'm using the WinSCP .NET library. Occasionally, the session.CalculateFileChecksum() call will throw an exception when a server does not support the checksum functionality.
I'd like to avoid this by first checking whether or not the FTP server supports the call. I'm wondering if there is a way to do this using the .NET library API.
Any thoughts?
Note: I already know I can do this using the WinSCP GUI. Need an API/C# solution.
TIA
There's no API for that.
All you can do is to try, catch an exception and test its message for:
Operation not supported.
Or you can enable session logging and parse the log file for a response to FEAT command, looking for HASH, XSHA1, XSHA256, XSHA512, XMD5, MD5 or XCRC (that's what WinSCP does internally).
> 2018-10-17 19:16:53.910 FEAT
< 2018-10-17 19:16:53.910 211-Features:
< 2018-10-17 19:16:53.910 MDTM
< 2018-10-17 19:16:53.910 REST STREAM
< 2018-10-17 19:16:53.910 SIZE
< 2018-10-17 19:16:53.910 MLST type*;size*;modify*;
< 2018-10-17 19:16:53.910 MLSD
< 2018-10-17 19:16:53.910 AUTH SSL
< 2018-10-17 19:16:53.910 AUTH TLS
< 2018-10-17 19:16:53.910 PROT
< 2018-10-17 19:16:53.910 PBSZ
< 2018-10-17 19:16:53.910 UTF8
< 2018-10-17 19:16:53.910 CLNT
< 2018-10-17 19:16:53.910 MFMT
< 2018-10-17 19:16:53.910 HASH SHA-1*;SHA-512;MD5
< 2018-10-17 19:16:53.910 EPSV
< 2018-10-17 19:16:53.910 EPRT
< 2018-10-17 19:16:53.910 211 End

WinSCP - Rename file in a directory, where listing/browsing is forbidden

I'm moving to using WinSCP.com over FTP.exe due to it's capabilities of being able to use PASSIVE mode. I have started to convert my FTP script to WinSCP and noticed something that is happening and I don't have a solution for.
Current script - (ftpcommands.txt)
open ftp://user:pass#ftp.host.com/
cd /
put -transfer=binary "C:\Users\username\Desktop\test folder\myfile.7z.uploading"
mv "myfile.7z.uploading" "myfile.7z"
bye
Calling it from console window
Bin\WinSCP.com /script="ftpcommands.txt" /ini=nul
Console window results
Connecting to ftp.host.com ...
Connected
Starting the session...
Session started.
Active session: [1] user#ftp.host.com
/
myfile.7z.uploading | 193 KB | 754.8 KB/s | binary | 100%
Can't get attributes of file 'myfile.7z.uploading'.
Could not retrieve file information
Permission denied.
WinSCP log file (when using the /log=winscp.log switch)
. 2018-08-09 13:09:43.432 --------------------------------------------------------------------------
. 2018-08-09 13:09:43.432 WinSCP Version 5.13.3 (Build 8565) (OS 10.0.17134 - Windows 10 Enterprise)
. 2018-08-09 13:09:43.432 Configuration: nul
. 2018-08-09 13:09:43.432 Log level: Normal
. 2018-08-09 13:09:43.432 Local account: GALAXY\username
. 2018-08-09 13:09:43.432 Working directory: C:\Users\username\Desktop\test folder
. 2018-08-09 13:09:43.432 Process ID: 30844
. 2018-08-09 13:09:43.432 Command-line: "C:\Users\username\Desktop\test folder\Bin\WinSCP.exe" /console=5.13.3 /consoleinstance=_18928_436 "/script=Logs\ftpcommands.txt" "/ini=nul" "/log=winscp.log"
. 2018-08-09 13:09:43.432 Time zone: Current: GMT-4, Standard: GMT-5 (Eastern Standard Time), DST: GMT-4 (Eastern Daylight Time), DST Start: 3/11/2018, DST End: 11/4/2018
. 2018-08-09 13:09:43.510 Login time: Thursday, August 9, 2018 1:09:43 PM
. 2018-08-09 13:09:43.510 --------------------------------------------------------------------------
. 2018-08-09 13:09:43.510 Script: Retrospectively logging previous script records:
> 2018-08-09 13:09:43.510 Script: open ftp://user:***#ftp.host.com/
. 2018-08-09 13:09:43.510 --------------------------------------------------------------------------
. 2018-08-09 13:09:43.510 Session name: user#ftp.host.com (Ad-Hoc site)
. 2018-08-09 13:09:43.510 Host name: ftp.host.com (Port: 21)
. 2018-08-09 13:09:43.510 User name: user (Password: Yes, Key file: No, Passphrase: No)
. 2018-08-09 13:09:43.510 Transfer Protocol: FTP
. 2018-08-09 13:09:43.510 Ping type: Dummy, Ping interval: 30 sec; Timeout: 15 sec
. 2018-08-09 13:09:43.510 Disable Nagle: No
. 2018-08-09 13:09:43.510 Proxy: None
. 2018-08-09 13:09:43.510 Send buffer: 262144
. 2018-08-09 13:09:43.510 UTF: Auto
. 2018-08-09 13:09:43.510 FTPS: None [Client certificate: No]
. 2018-08-09 13:09:43.510 FTP: Passive: Yes [Force IP: Auto]; MLSD: Auto [List all: Auto]; HOST: Auto
. 2018-08-09 13:09:43.510 Local directory: default, Remote directory: home, Update: Yes, Cache: Yes
. 2018-08-09 13:09:43.510 Cache directory changes: Yes, Permanent: Yes
. 2018-08-09 13:09:43.510 Recycle bin: Delete to: No, Overwritten to: No, Bin path:
. 2018-08-09 13:09:43.510 Timezone offset: 0h 0m
. 2018-08-09 13:09:43.510 --------------------------------------------------------------------------
. 2018-08-09 13:09:43.510 Connecting to ftp.host.com ...
. 2018-08-09 13:09:43.573 Connected with ftp.host.com. Waiting for welcome message...
< 2018-08-09 13:09:43.588 220-Welcome
< 2018-08-09 13:09:43.588 220-
< 2018-08-09 13:09:43.588 220-Company FTP Server
> 2018-08-09 13:09:43.588 USER user
< 2018-08-09 13:09:43.620 331 Password required for user
> 2018-08-09 13:09:43.620 PASS ****
< 2018-08-09 13:09:43.635 230 Logged on
> 2018-08-09 13:09:43.635 SYST
< 2018-08-09 13:09:43.651 215 UNIX emulated by FileZilla
> 2018-08-09 13:09:43.651 FEAT
< 2018-08-09 13:09:43.682 211-Features:
< 2018-08-09 13:09:43.682 MDTM
< 2018-08-09 13:09:43.698 REST STREAM
< 2018-08-09 13:09:43.698 SIZE
< 2018-08-09 13:09:43.698 MLST type*;size*;modify*;
< 2018-08-09 13:09:43.698 MLSD
< 2018-08-09 13:09:43.698 AUTH SSL
< 2018-08-09 13:09:43.698 AUTH TLS
< 2018-08-09 13:09:43.698 PROT
< 2018-08-09 13:09:43.698 PBSZ
< 2018-08-09 13:09:43.698 UTF8
< 2018-08-09 13:09:43.698 CLNT
< 2018-08-09 13:09:43.698 MFMT
< 2018-08-09 13:09:43.698 EPSV
< 2018-08-09 13:09:43.698 EPRT
< 2018-08-09 13:09:43.698 211 End
> 2018-08-09 13:09:43.698 CLNT WinSCP-release-5.13.3
< 2018-08-09 13:09:43.698 200 Don't care
> 2018-08-09 13:09:43.698 OPTS UTF8 ON
< 2018-08-09 13:09:43.713 202 UTF8 mode is always enabled. No need to send this command.
. 2018-08-09 13:09:43.713 Connected
. 2018-08-09 13:09:43.713 --------------------------------------------------------------------------
. 2018-08-09 13:09:43.713 Using FTP protocol.
. 2018-08-09 13:09:43.713 Doing startup conversation with host.
> 2018-08-09 13:09:43.713 PWD
< 2018-08-09 13:09:43.729 257 "/" is current directory.
. 2018-08-09 13:09:43.729 Getting current directory name.
. 2018-08-09 13:09:43.729 Startup conversation with host finished.
< 2018-08-09 13:09:43.729 Script: Active session: [1] user#ftp.host.com
> 2018-08-09 13:09:43.746 Script: cd /
. 2018-08-09 13:09:43.746 Changing directory to "/".
> 2018-08-09 13:09:43.746 CWD /
< 2018-08-09 13:09:43.767 250 CWD successful. "/" is current directory.
. 2018-08-09 13:09:43.767 Getting current directory name.
> 2018-08-09 13:09:43.767 PWD
< 2018-08-09 13:09:43.787 257 "/" is current directory.
< 2018-08-09 13:09:43.787 Script: /
> 2018-08-09 13:09:43.787 Script: put -transfer=binary "C:\Users\username\Desktop\test folder\myfile.7z.uploading"
. 2018-08-09 13:09:43.787 Copying 1 files/directories to remote directory "/" - total size: 198,017
. 2018-08-09 13:09:43.787 PrTime: Yes; PrRO: No; Rght: rw-r--r--; PrR: No (No); FnCs: N; RIC: 0100; Resume: S (102400); CalcS: No; Mask:
. 2018-08-09 13:09:43.787 TM: B; ClAr: No; RemEOF: No; RemBOM: No; CPS: 0; NewerOnly: No; InclM: ; ResumeL: 0
. 2018-08-09 13:09:43.787 AscM: *.*html; *.htm; *.txt; *.php; *.php3; *.cgi; *.c; *.cpp; *.h; *.pas; *.bas; *.tex; *.pl; *.js; .htaccess; *.xtml; *.css; *.cfg; *.ini; *.sh; *.xml
. 2018-08-09 13:09:43.787 File: 'C:\Users\username\Desktop\test folder\myfile.7z.uploading' [2018-08-09T15:41:57.040Z] [198017]
. 2018-08-09 13:09:43.787 Copying "C:\Users\username\Desktop\test folder\myfile.7z.uploading" to remote directory started.
. 2018-08-09 13:09:43.787 Binary transfer mode selected.
. 2018-08-09 13:09:43.787 Starting upload of C:\Users\username\Desktop\test folder\myfile.7z.uploading
> 2018-08-09 13:09:43.787 TYPE I
< 2018-08-09 13:09:43.803 200 Type set to I
> 2018-08-09 13:09:43.803 PASV
< 2018-08-09 13:09:43.818 227 Entering Passive Mode (1,2,3,4,17,147)
> 2018-08-09 13:09:43.818 STOR myfile.7z.uploading
. 2018-08-09 13:09:43.818 Connecting to 1.2.3.4:4499 ...
< 2018-08-09 13:09:43.865 150 Opening data channel for file upload to server of "/myfile.7z.uploading"
< 2018-08-09 13:09:44.084 226 Successfully transferred "/myfile.7z.uploading"
> 2018-08-09 13:09:44.084 MFMT 20180809154157 myfile.7z.uploading
< 2018-08-09 13:09:44.100 550 Permission denied
. 2018-08-09 13:09:44.100 Upload successful
. 2018-08-09 13:09:44.100 Transfer done: 'C:\Users\username\Desktop\test folder\myfile.7z.uploading' => '/myfile.7z.uploading' [198017]
. 2018-08-09 13:09:44.100 Copying finished: Transferred: 198,017, Elapsed: 0:00:00, CPS: 776,209/s
> 2018-08-09 13:09:44.100 Script: mv "myfile.7z.uploading" "myfile.7z"
. 2018-08-09 13:09:44.100 Listing file "myfile.7z.uploading".
. 2018-08-09 13:09:44.100 Retrieving file information...
> 2018-08-09 13:09:44.100 MLST /myfile.7z.uploading
< 2018-08-09 13:09:44.131 550 Permission denied.
. 2018-08-09 13:09:44.131 Could not retrieve file information
< 2018-08-09 13:09:44.131 Script: Can't get attributes of file 'myfile.7z.uploading'.
< 2018-08-09 13:09:44.131 Could not retrieve file information
< 2018-08-09 13:09:44.131 Permission denied.
. 2018-08-09 13:09:44.131 Script: Failed
. 2018-08-09 13:09:44.131 Script: Exit code: 1
. 2018-08-09 13:09:44.131 Disconnected from server
I can connect to the FTP server, login, send the single file. That part works great. Then after I send the file I was hoping to get a 226 Successfully transferred message shown to my console window. Instead I have a message showing the following...
Can't get attributes of file 'MyFileName.txt'.
I have my FTP server set up in a way that the only access rights given are...
Write
Delete
There are no type of read or list rights given to the user. The idea is to have this script blindly dump a file to the FTP server, check that the FTP server returns a successful 226 message and then blindly rename the file once it has been uploaded.
Everything works great with FTP.exe but for some reason I can't get it to work for WinSCP.com. So this leaves me with two questions...
Is it possible to show the actual server responses when using WinSCP.com?
Is it possible to turn off the way WinSCP.com trys to read things like attributes and file information after an upload?
You cannot prevent WinSCP from checking file before doing rename.
But as you have hinted yourself, you can workaround it using WinSCP call command and FTP commands RNFR and RNTO:
call RNFR myfile.7z.uploading
call RNTO myfile.7z
As for the MFMT, WinSCP uses that to update a timestamp of the uploaded file. If that fails, WinSCP silently ignores the error.
But if you want to avoid having the error in the log file, just use -nopreservetime switch of the put command.

gnutls_record_recv: The TLS connection was non-properly terminated. Assuming EOF

I am attempting to use the Gitlab pipeline ci in order to build my site and deploy it to my GoDaddy hosting via FTPS. Right now everything is being done as dry-runs. If I attempt to transfer to a new directory from my top level domain (www.mysite.com/build) the command will execute successfully both on my local machine as well as in the Gitlab pipeline. However, if I attempt to overwrite the files from the top-level domain to actually update the site, it only works on my local but fails to connect from the Gitlab Pipeline.
Command to transfer to a new directory:
(Dry-run executes fine from my Gitlab.com and from my local machine)
lftp -e "set ftp:ssl-force; set ssl:verify-certificate no; mirror -R --dry-run build/ ; quit" -u $FTP_USER,$FTP_PASSWORD $FTP_HOST --debug
Command to transfer to the top-level domain, overwriting existing code:
(Dry-run execute fine from my local machine but never manages to connect properly from Gitab.com)
lftp -e "set ftp:ssl-force; set ssl:verify-certificate no; mirror -R --dry-run build/ / ; quit" -u $FTP_USER,$FTP_PASSWORD $FTP_HOST --debug
I suspect this may be a problem with either GoDaddy or Gitlab's setup, but I wanted to check here first to see if I was missing any obvious mistakes.
I have included the logs below with the --debug flag set.
Transfer to new directory (/build)
Gitlab.com (working)
$ lftp -e "set ftp:ssl-force; set ssl:verify-certificate no; mirror -R --dry-run build/ ; quit" -u $FTP_USER,$FTP_PASSWORD $FTP_HOST --debug
---- Connecting to <my_domain>.com (160.153.92.9) port 21
<--- 220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
<--- 220-You are user number 1 of 500 allowed.
<--- 220-Local time is now 17:25. Server port: 21.
<--- 220-This is a private system - No anonymous login
<--- 220 You will be disconnected after 15 minutes of inactivity.
---> FEAT
<--- 211-Extensions supported:
<--- EPRT
<--- IDLE
<--- MDTM
<--- SIZE
<--- MFMT
<--- REST STREAM
<--- MLST type*;size*;sizd*;modify*;UNIX.mode*;UNIX.uid*;UNIX.gid*;unique*;
<--- MLSD
<--- AUTH TLS
<--- PBSZ
<--- PROT
<--- UTF8
<--- TVFS
<--- ESTA
<--- PASV
<--- EPSV
<--- SPSV
<--- ESTP
<--- 211 End.
---> AUTH TLS
<--- 234 AUTH TLS OK.
---> OPTS UTF8 ON
Certificate: EMAIL=ssl#p3plcpnl0953.prod.phx3.secureserver.net,CN=p3plcpnl0953.prod.phx3.secureserver.net
Issued by: EMAIL=ssl#p3plcpnl0953.prod.phx3.secureserver.net,CN=p3plcpnl0953.prod.phx3.secureserver.net
WARNING: Certificate verification: Not trusted
WARNING: Certificate verification: certificate common name doesn't match requested host name '<my_domain>.com'
<--- 200 OK, UTF-8 enabled
---> OPTS MLST type;size;modify;UNIX.mode;UNIX.uid;UNIX.gid;
<--- 200 MLST OPTS type;size;sizd;modify;UNIX.mode;UNIX.uid;UNIX.gid;unique;
---> USER <my_user>#<my_domain>.com
<--- 331 User <my_user>#<my_domain>.com OK. Password required
---> PASS <my_password>
<--- 230-Your bandwidth usage is restricted
<--- 230 OK. Current restricted directory is /
---> PWD
<--- 257 "/" is your current location
---> PBSZ 0
---- CWD path to be sent is `/build'
<--- 200 PBSZ=0
---> CWD /build
<--- 550 Can't change directory to /build: No such file or directory
---- CWD path to be sent is `/build/amp'
---> CWD /build/amp
<--- 550 Can't change directory to /build/amp: No such file or directory
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<< FILES TRANSFERED-- OMITTED FOR BREVITY >>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Creating cache default...
Created cache
Job succeeded
Local Machine (working)
$ lftp -e "set ftp:ssl-force; set ssl:verify-certificate no; mirror -R --dry-run build/ ; quit" -u <my_user>#<my_domain>,<my_password> <my_domain>
mkdir -p ftp://<my_user>#<my_domain>:<my_password>#<my_domain>.com/build/
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<< FILES TRANSFERED-- OMITTED FOR BREVITY >>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Total: 48 directories, 299 files, 0 symlinks
New: 299 files, 0 symlinks
$
Transfer to top level domain (overwrite/update)
Gitlab.com **(not working)**
$ lftp -e "set ftp:ssl-force; set ssl:verify-certificate no; mirror -R --dry-run build/ / ; quit" -u $FTP_USER,$FTP_PASSWORD $FTP_HOST --debug
---- Connecting to <my_domain>.com (160.153.92.9) port 21
<--- 220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
<--- 220-You are user number 1 of 500 allowed.
<--- 220-Local time is now 12:39. Server port: 21.
<--- 220-This is a private system - No anonymous login
<--- 220 You will be disconnected after 15 minutes of inactivity.
---> FEAT
<--- 211-Extensions supported:
<--- EPRT
<--- IDLE
<--- MDTM
<--- SIZE
<--- MFMT
<--- REST STREAM
<--- MLST type*;size*;sizd*;modify*;UNIX.mode*;UNIX.uid*;UNIX.gid*;unique*;
<--- MLSD
<--- AUTH TLS
<--- PBSZ
<--- PROT
<--- UTF8
<--- TVFS
<--- ESTA
<--- PASV
<--- EPSV
<--- SPSV
<--- ESTP
<--- 211 End.
---> AUTH TLS
<--- 234 AUTH TLS OK.
---> OPTS UTF8 ON
Certificate: EMAIL=ssl#p3plcpnl0953.prod.phx3.secureserver.net,CN=p3plcpnl0953.prod.phx3.secureserver.net
Issued by: EMAIL=ssl#p3plcpnl0953.prod.phx3.secureserver.net,CN=p3plcpnl0953.prod.phx3.secureserver.net
WARNING: Certificate verification: Not trusted
WARNING: Certificate verification: certificate common name doesn't match requested host name '<my_domain>.com'
<--- 200 OK, UTF-8 enabled
---> OPTS MLST type;size;modify;UNIX.mode;UNIX.uid;UNIX.gid;
<--- 200 MLST OPTS type;size;sizd;modify;UNIX.mode;UNIX.uid;UNIX.gid;unique;
---> USER <my_user>#<my_domain>.com
<--- 331 User <my_user>#<my_domain>.com OK. Password required
---> PASS <my_password>
<--- 230-Your bandwidth usage is restricted
<--- 230 OK. Current restricted directory is /
---> PWD
<--- 257 "/" is your current location
---> PBSZ 0
<--- 200 PBSZ=0
---> PROT P
<--- 200 Data protection level set to "private"
---> PASV
<--- 227 Entering Passive Mode (160,153,92,9,195,195)
---- Connecting data socket to (160.153.92.9) port 50115
---- Data connection established
---> LIST
<--- 150 Accepted data connection
Certificate: EMAIL=ssl#p3plcpnl0953.prod.phx3.secureserver.net,CN=p3plcpnl0953.prod.phx3.secureserver.net
Issued by: EMAIL=ssl#p3plcpnl0953.prod.phx3.secureserver.net,CN=p3plcpnl0953.prod.phx3.secureserver.net
WARNING: Certificate verification: Not trusted
WARNING: Certificate verification: certificate common name doesn't match requested host name '<my_domain>.com'
gnutls_record_recv: The TLS connection was non-properly terminated. Assuming EOF.
gnutls_record_recv: The TLS connection was non-properly terminated. Assuming EOF.
**** Peer closed connection
---- Closing data socket
---- Closing control socket
---- Connecting to <my_domain>.com (160.153.92.9) port 21
<--- 220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
<--- 220-You are user number 1 of 500 allowed.
<--- 220-Local time is now 12:40. Server port: 21.
<--- 220-This is a private system - No anonymous login
<--- 220 You will be disconnected after 15 minutes of inactivity.
---> FEAT
<--- 211-Extensions supported:
<--- EPRT
<--- IDLE
<--- MDTM
<--- SIZE
<--- MFMT
<--- REST STREAM
<--- MLST type*;size*;sizd*;modify*;UNIX.mode*;UNIX.uid*;UNIX.gid*;unique*;
<--- MLSD
<--- AUTH TLS
<--- PBSZ
<--- PROT
<--- UTF8
<--- TVFS
<--- ESTA
<--- PASV
<--- EPSV
<--- SPSV
<--- ESTP
<--- 211 End.
---> AUTH TLS
<--- 234 AUTH TLS OK.
---> OPTS UTF8 ON
Certificate: EMAIL=ssl#p3plcpnl0953.prod.phx3.secureserver.net,CN=p3plcpnl0953.prod.phx3.secureserver.net
Issued by: EMAIL=ssl#p3plcpnl0953.prod.phx3.secureserver.net,CN=p3plcpnl0953.prod.phx3.secureserver.net
WARNING: Certificate verification: Not trusted
WARNING: Certificate verification: certificate common name doesn't match requested host name '<my_domain>.com'
<--- 200 OK, UTF-8 enabled
---> OPTS MLST type;size;modify;UNIX.mode;UNIX.uid;UNIX.gid;
<--- 200 MLST OPTS type;size;sizd;modify;UNIX.mode;UNIX.uid;UNIX.gid;unique;
---> USER <my_user>#<my_domain>.com
<--- 331 User <my_user>#<my_domain>.com OK. Password required
---> PASS <my_password>
<--- 230-Your bandwidth usage is restricted
<--- 230 OK. Current restricted directory is /
---> PBSZ 0
<--- 200 PBSZ=0
---> PROT P
<--- 200 Data protection level set to "private"
---> PASV
<--- 227 Entering Passive Mode (160,153,92,9,196,113)
---- Connecting data socket to (160.153.92.9) port 50289
---- Data connection established
---> LIST
<--- 150 Accepted data connection
Certificate: EMAIL=ssl#p3plcpnl0953.prod.phx3.secureserver.net,CN=p3plcpnl0953.prod.phx3.secureserver.net
Issued by: EMAIL=ssl#p3plcpnl0953.prod.phx3.secureserver.net,CN=p3plcpnl0953.prod.phx3.secureserver.net
WARNING: Certificate verification: Not trusted
WARNING: Certificate verification: certificate common name doesn't match requested host name '<my_domain>.com'
gnutls_record_recv: The TLS connection was non-properly terminated. Assuming EOF.
gnutls_record_recv: The TLS connection was non-properly terminated. Assuming EOF.
**** Peer closed connection
---- Closing data socket
---- Closing control socket
---- Connecting to <my_domain>.com (160.153.92.9) port 21
<--- 220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
<--- 220-You are user number 1 of 500 allowed.
<--- 220-Local time is now 12:40. Server port: 21.
<--- 220-This is a private system - No anonymous login
<--- 220 You will be disconnected after 15 minutes of inactivity.
---> FEAT
<--- 211-Extensions supported:
<--- EPRT
<--- IDLE
<--- MDTM
<--- SIZE
<--- MFMT
<--- REST STREAM
<--- MLST type*;size*;sizd*;modify*;UNIX.mode*;UNIX.uid*;UNIX.gid*;unique*;
<--- MLSD
<--- AUTH TLS
<--- PBSZ
<--- PROT
<--- UTF8
<--- TVFS
<--- ESTA
<--- PASV
<--- EPSV
<--- SPSV
<--- ESTP
<--- 211 End.
---> AUTH TLS
<--- 234 AUTH TLS OK.
---> OPTS UTF8 ON
Certificate: EMAIL=ssl#p3plcpnl0953.prod.phx3.secureserver.net,CN=p3plcpnl0953.prod.phx3.secureserver.net
Issued by: EMAIL=ssl#p3plcpnl0953.prod.phx3.secureserver.net,CN=p3plcpnl0953.prod.phx3.secureserver.net
WARNING: Certificate verification: Not trusted
WARNING: Certificate verification: certificate common name doesn't match requested host name '<my_domain>.com'
<--- 200 OK, UTF-8 enabled
---> OPTS MLST type;size;modify;UNIX.mode;UNIX.uid;UNIX.gid;
<--- 200 MLST OPTS type;size;sizd;modify;UNIX.mode;UNIX.uid;UNIX.gid;unique;
---> USER <my_user>#<my_domain>.com
<--- 331 User <my_user>#<my_domain>.com OK. Password required
---> PASS <my_password>
<--- 230-Your bandwidth usage is restricted
<--- 230 OK. Current restricted directory is /
---> PBSZ 0
<--- 200 PBSZ=0
---> PROT P
<--- 200 Data protection level set to "private"
---> PASV
<--- 227 Entering Passive Mode (160,153,92,9,196,246)
---- Connecting data socket to (160.153.92.9) port 50422
---- Data connection established
---> LIST
<--- 150 Accepted data connection
gnutls_record_recv: The TLS connection was non-properly terminated. Assuming EOF.
**** Peer closed connection
---- Closing data socket
---- Closing control socket
---- Connecting to <my_domain>.com (160.153.92.9) port 21
<--- 220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
<--- 220-You are user number 1 of 500 allowed.
<--- 220-Local time is now 12:41. Server port: 21.
<--- 220-This is a private system - No anonymous login
<--- 220 You will be disconnected after 15 minutes of inactivity.
---> FEAT
<--- 211-Extensions supported:
<--- EPRT
<--- IDLE
<--- MDTM
<--- SIZE
<--- MFMT
<--- REST STREAM
<--- MLST type*;size*;sizd*;modify*;UNIX.mode*;UNIX.uid*;UNIX.gid*;unique*;
<--- MLSD
<--- AUTH TLS
<--- PBSZ
<--- PROT
<--- UTF8
<--- TVFS
<--- ESTA
<--- PASV
<--- EPSV
<--- SPSV
<--- ESTP
<--- 211 End.
---> AUTH TLS
<--- 234 AUTH TLS OK.
---> OPTS UTF8 ON
Certificate: EMAIL=ssl#p3plcpnl0953.prod.phx3.secureserver.net,CN=p3plcpnl0953.prod.phx3.secureserver.net
Issued by: EMAIL=ssl#p3plcpnl0953.prod.phx3.secureserver.net,CN=p3plcpnl0953.prod.phx3.secureserver.net
WARNING: Certificate verification: Not trusted
WARNING: Certificate verification: certificate common name doesn't match requested host name '<my_domain>.com'
<--- 200 OK, UTF-8 enabled
---> OPTS MLST type;size;modify;UNIX.mode;UNIX.uid;UNIX.gid;
<--- 200 MLST OPTS type;size;sizd;modify;UNIX.mode;UNIX.uid;UNIX.gid;unique;
---> USER <my_user>#<my_domain>.com
<--- 331 User <my_user>#<my_domain>.com OK. Password required
---> PASS <my_password>
<--- 230-Your bandwidth usage is restricted
<--- 230 OK. Current restricted directory is /
---> PBSZ 0
<--- 200 PBSZ=0
---> PROT P
<--- 200 Data protection level set to "private"
---> PASV
<--- 227 Entering Passive Mode (160,153,92,9,198,255)
---- Connecting data socket to (160.153.92.9) port 50943
---- Data connection established
---> LIST
<--- 150 Accepted data connection
gnutls_record_recv: The TLS connection was non-properly terminated. Assuming EOF.
**** Peer closed connection
---- Closing data socket
---- Closing control socket
---- Connecting to <my_domain>.com (160.153.92.9) port 21
<--- 220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
<--- 220-You are user number 1 of 500 allowed.
<--- 220-Local time is now 12:42. Server port: 21.
<--- 220-This is a private system - No anonymous login
<--- 220 You will be disconnected after 15 minutes of inactivity.
---> FEAT
<--- 211-Extensions supported:
<--- EPRT
<--- IDLE
<--- MDTM
<--- SIZE
<--- MFMT
<--- REST STREAM
<--- MLST type*;size*;sizd*;modify*;UNIX.mode*;UNIX.uid*;UNIX.gid*;unique*;
<--- MLSD
<--- AUTH TLS
<--- PBSZ
<--- PROT
<--- UTF8
<--- TVFS
<--- ESTA
<--- PASV
<--- EPSV
<--- SPSV
<--- ESTP
<--- 211 End.
---> AUTH TLS
<--- 234 AUTH TLS OK.
---> OPTS UTF8 ON
Certificate: EMAIL=ssl#p3plcpnl0953.prod.phx3.secureserver.net,CN=p3plcpnl0953.prod.phx3.secureserver.net
Issued by: EMAIL=ssl#p3plcpnl0953.prod.phx3.secureserver.net,CN=p3plcpnl0953.prod.phx3.secureserver.net
WARNING: Certificate verification: Not trusted
WARNING: Certificate verification: certificate common name doesn't match requested host name '<my_domain>.com'
<--- 200 OK, UTF-8 enabled
---> OPTS MLST type;size;modify;UNIX.mode;UNIX.uid;UNIX.gid;
<--- 200 MLST OPTS type;size;sizd;modify;UNIX.mode;UNIX.uid;UNIX.gid;unique;
---> USER <my_user>#<my_domain>.com
<--- 331 User <my_user>#<my_domain>.com OK. Password required
---> PASS <my_password>
<--- 230-Your bandwidth usage is restricted
<--- 230 OK. Current restricted directory is /
---> PBSZ 0
<--- 200 PBSZ=0
---> PROT P
<--- 200 Data protection level set to "private"
---> PASV
<--- 227 Entering Passive Mode (160,153,92,9,196,44)
---- Connecting data socket to (160.153.92.9) port 50220
---- Data connection established
---> LIST
<--- 150 Accepted data connection
Certificate: EMAIL=ssl#p3plcpnl0953.prod.phx3.secureserver.net,CN=p3plcpnl0953.prod.phx3.secureserver.net
Issued by: EMAIL=ssl#p3plcpnl0953.prod.phx3.secureserver.net,CN=p3plcpnl0953.prod.phx3.secureserver.net
WARNING: Certificate verification: Not trusted
WARNING: Certificate verification: certificate common name doesn't match requested host name '<my_domain>.com'
gnutls_record_recv: The TLS connection was non-properly terminated. Assuming EOF.
gnutls_record_recv: The TLS connection was non-properly terminated. Assuming EOF.
**** Peer closed connection
---- Closing data socket
---- Closing control socket
---- Connecting to <my_domain>.com (160.153.92.9) port 21
<--- 220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
<--- 220-You are user number 1 of 500 allowed.
<--- 220-Local time is now 12:44. Server port: 21.
<--- 220-This is a private system - No anonymous login
<--- 220 You will be disconnected after 15 minutes of inactivity.
---> FEAT
<--- 211-Extensions supported:
<--- EPRT
<--- IDLE
<--- MDTM
<--- SIZE
<--- MFMT
<--- REST STREAM
<--- MLST type*;size*;sizd*;modify*;UNIX.mode*;UNIX.uid*;UNIX.gid*;unique*;
<--- MLSD
<--- AUTH TLS
<--- PBSZ
<--- PROT
<--- UTF8
<--- TVFS
<--- ESTA
<--- PASV
<--- EPSV
<--- SPSV
<--- ESTP
<--- 211 End.
---> AUTH TLS
<--- 234 AUTH TLS OK.
---> OPTS UTF8 ON
Certificate: EMAIL=ssl#p3plcpnl0953.prod.phx3.secureserver.net,CN=p3plcpnl0953.prod.phx3.secureserver.net
Issued by: EMAIL=ssl#p3plcpnl0953.prod.phx3.secureserver.net,CN=p3plcpnl0953.prod.phx3.secureserver.net
WARNING: Certificate verification: Not trusted
WARNING: Certificate verification: certificate common name doesn't match requested host name '<my_domain>.com'
<--- 200 OK, UTF-8 enabled
---> OPTS MLST type;size;modify;UNIX.mode;UNIX.uid;UNIX.gid;
<--- 200 MLST OPTS type;size;sizd;modify;UNIX.mode;UNIX.uid;UNIX.gid;unique;
---> USER <my_user>#<my_domain>.com
<--- 331 User <my_user>#<my_domain>.com OK. Password required
---> PASS <my_password>
<--- 230-Your bandwidth usage is restricted
<--- 230 OK. Current restricted directory is /
---> PBSZ 0
<--- 200 PBSZ=0
---> PROT P
<--- 200 Data protection level set to "private"
---> PASV
<--- 227 Entering Passive Mode (160,153,92,9,197,243)
---- Connecting data socket to (160.153.92.9) port 50675
---- Data connection established
---> LIST
<--- 150 Accepted data connection
Certificate: EMAIL=ssl#p3plcpnl0953.prod.phx3.secureserver.net,CN=p3plcpnl0953.prod.phx3.secureserver.net
Issued by: EMAIL=ssl#p3plcpnl0953.prod.phx3.secureserver.net,CN=p3plcpnl0953.prod.phx3.secureserver.net
WARNING: Certificate verification: Not trusted
WARNING: Certificate verification: certificate common name doesn't match requested host name '<my_domain>.com'
gnutls_record_recv: The TLS connection was non-properly terminated. Assuming EOF.
gnutls_record_recv: The TLS connection was non-properly terminated. Assuming EOF.
**** Peer closed connection
---- Closing data socket
---- Closing control socket
---- Connecting to <my_domain>.com (160.153.92.9) port 21
<--- 220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
<--- 220-You are user number 1 of 500 allowed.
<--- 220-Local time is now 12:46. Server port: 21.
<--- 220-This is a private system - No anonymous login
<--- 220 You will be disconnected after 15 minutes of inactivity.
---> FEAT
<--- 211-Extensions supported:
<--- EPRT
<--- IDLE
<--- MDTM
<--- SIZE
<--- MFMT
<--- REST STREAM
<--- MLST type*;size*;sizd*;modify*;UNIX.mode*;UNIX.uid*;UNIX.gid*;unique*;
<--- MLSD
<--- AUTH TLS
<--- PBSZ
<--- PROT
<--- UTF8
<--- TVFS
<--- ESTA
<--- PASV
<--- EPSV
<--- SPSV
<--- ESTP
<--- 211 End.
---> AUTH TLS
<--- 234 AUTH TLS OK.
---> OPTS UTF8 ON
Certificate: EMAIL=ssl#p3plcpnl0953.prod.phx3.secureserver.net,CN=p3plcpnl0953.prod.phx3.secureserver.net
Issued by: EMAIL=ssl#p3plcpnl0953.prod.phx3.secureserver.net,CN=p3plcpnl0953.prod.phx3.secureserver.net
WARNING: Certificate verification: Not trusted
WARNING: Certificate verification: certificate common name doesn't match requested host name '<my_domain>.com'
<--- 200 OK, UTF-8 enabled
---> OPTS MLST type;size;modify;UNIX.mode;UNIX.uid;UNIX.gid;
<--- 200 MLST OPTS type;size;sizd;modify;UNIX.mode;UNIX.uid;UNIX.gid;unique;
---> USER <my_user>#<my_domain>.com
<--- 331 User <my_user>#<my_domain>.com OK. Password required
---> PASS <my_password>
<--- 230-Your bandwidth usage is restricted
<--- 230 OK. Current restricted directory is /
---> PBSZ 0
<--- 200 PBSZ=0
---> PROT P
<--- 200 Data protection level set to "private"
---> PASV
<--- 227 Entering Passive Mode (160,153,92,9,197,36)
---- Connecting data socket to (160.153.92.9) port 50468
---- Data connection established
---> LIST
<--- 150 Accepted data connection
gnutls_record_recv: The TLS connection was non-properly terminated. Assuming EOF.
**** Peer closed connection
---- Closing data socket
---- Closing control socket
Local Machine (working)
$ lftp -e "set ftp:ssl-force; set ssl:verify-certificate no; mirror -R --dry-run build/ / ; quit" -u <my_user>#<my_domain>.com,<my_password> ftp://<my_domain>.com --debug
mkdir -p ftp://<my_user>%40<my_domain>.com:<my_password>#<my_domain>.com/%2F
---- Connecting to <my_domain>.com (160.153.92.9) port 21
<--- 220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
<--- 220-You are user number 1 of 500 allowed.
<--- 220-Local time is now 12:27. Server port: 21.
<--- 220-This is a private system - No anonymous login
<--- 220 You will be disconnected after 15 minutes of inactivity.
---> FEAT
<--- 211-Extensions supported:
<--- EPRT
<--- IDLE
<--- MDTM
<--- SIZE
<--- MFMT
<--- REST STREAM
<--- MLST type*;size*;sizd*;modify*;UNIX.mode*;UNIX.uid*;UNIX.gid*;unique*;
<--- MLSD
<--- AUTH TLS
<--- PBSZ
<--- PROT
<--- UTF8
<--- TVFS
<--- ESTA
<--- PASV
<--- EPSV
<--- SPSV
<--- ESTP
<--- 211 End.
---> AUTH TLS
<--- 234 AUTH TLS OK.
---> OPTS UTF8 ON
Certificate: EMAIL=ssl#p3plcpnl0953.prod.phx3.secureserver.net,CN=p3plcpnl0953.prod.phx3.secureserver.net
Issued by: EMAIL=ssl#p3plcpnl0953.prod.phx3.secureserver.net,CN=p3plcpnl0953.prod.phx3.secureserver.net
WARNING: Certificate verification: Not trusted
WARNING: Certificate verification: certificate common name doesn't match requested host name ‘<my_domain>.com’
<--- 200 OK, UTF-8 enabled
---> OPTS MLST type;size;modify;UNIX.mode;UNIX.uid;UNIX.gid;
<--- 200 MLST OPTS type;size;sizd;modify;UNIX.mode;UNIX.uid;UNIX.gid;unique;
---> USER <my_user>#<my_domain>.com
<--- 331 User <my_user>#<my_domain>.com OK. Password required
---> PASS <my_password>
<--- 230-Your bandwidth usage is restricted
<--- 230 OK. Current restricted directory is /
---> PWD
<--- 257 "/" is your current location
---> PBSZ 0
<--- 200 PBSZ=0
---> PROT P
<--- 200 Data protection level set to "private"
---> PASV
<--- 227 Entering Passive Mode (160,153,92,9,198,83)
---- Connecting data socket to (160.153.92.9) port 50771
---- Data connection established
---> LIST
<--- 150 Accepted data connection
Certificate: EMAIL=ssl#p3plcpnl0953.prod.phx3.secureserver.net,CN=p3plcpnl0953.prod.phx3.secureserver.net
Issued by: EMAIL=ssl#p3plcpnl0953.prod.phx3.secureserver.net,CN=p3plcpnl0953.prod.phx3.secureserver.net
WARNING: Certificate verification: Not trusted
WARNING: Certificate verification: certificate common name doesn't match requested host name ‘<my_domain>.com’
---- Got EOF on data connection
---- Closing data socket
<--- 226-Options: -a -l
<--- 226 15 matches total
---> TYPE I
<--- 200 TYPE is now 8-bit binary
---> MDTM .
<--- 550 I can only retrieve regular files
---> MDTM ..
<--- 550 I can only retrieve regular files
---> MDTM .ftpquota
<--- 213 20160818042222
---> MDTM .htaccess
<--- 213 20151121060928
---> MDTM cgi-bin
<--- 550 I can only retrieve regular files
---> MDTM css
<--- 550 I can only retrieve regular files
---> MDTM cssinstaglam
<--- 550 I can only retrieve regular files
---> MDTM favicon.ico
<--- 213 20151003060945
---> MDTM fonts
<--- 550 I can only retrieve regular files
---> MDTM iamdev
<--- 550 I can only retrieve regular files
---> MDTM img
<--- 550 I can only retrieve regular files
---> MDTM index.html
<--- 213 20151118040443
---> MDTM less
<--- 550 I can only retrieve regular files
---> MDTM svg
<--- 550 I can only retrieve regular files
---> MDTM zoescorner.net
<--- 550 I can only retrieve regular files
get -e -O ftp://<my_user>%40<my_domain>.com:<my_password>#<my_domain>.com/ file:<local_project_path>/build/.htaccess
get -e -O ftp://<my_user>%40<my_domain>.com:<my_password>#<my_domain>.com/ file:<local_project_path>/build/favicon.ico
get -e -O ftp://<my_user>%40<my_domain>.com:<my_password>#<my_domain>.com/ file:<local_project_path>/build/index.html
mkdir ftp://<my_user>%40<my_domain>.com:<my_password>#<my_domain>.com/amp
---- CWD path to be sent is `/amp'
---> CWD /amp
<--- 550 Can't change directory to /amp: No such file or directory
get -O ftp://<my_user>%40<my_domain>.com:<my_password>#<my_domain>.com/amp file:<local_project_path>/build/amp/index.html
chmod 755 ftp://<my_user>%40<my_domain>.com:<my_password>#<my_domain>.com/amp/index.html
---- CWD path to be sent is `/cssinstaglam'
---> CWD /cssinstaglam
<--- 250 OK. Current directory is /cssinstaglam
---> TYPE A
<--- 200 TYPE is now ASCII
---> PASV
<--- 227 Entering Passive Mode (160,153,92,9,196,111)
---- Connecting data socket to (160.153.92.9) port 50287
---- Data connection established
---> LIST
<--- 150 Accepted data connection
Certificate: EMAIL=ssl#p3plcpnl0953.prod.phx3.secureserver.net,CN=p3plcpnl0953.prod.phx3.secureserver.net
Issued by: EMAIL=ssl#p3plcpnl0953.prod.phx3.secureserver.net,CN=p3plcpnl0953.prod.phx3.secureserver.net
WARNING: Certificate verification: Not trusted
WARNING: Certificate verification: certificate common name doesn't match requested host name ‘<my_domain>.com’
---- Got EOF on data connection
---- Closing data socket
<--- 226-Options: -a -l
<--- 226 10 matches total
---> TYPE I
<--- 200 TYPE is now 8-bit binary
---> MDTM .
<--- 550 I can only retrieve regular files
---> MDTM ..
<--- 550 I can only retrieve regular files
---> MDTM .include_in_version_control
<--- 213 20151003060948
---> MDTM css
<--- 550 I can only retrieve regular files
---> MDTM favicon.ico
<--- 213 20151003060948
---> MDTM img
<--- 550 I can only retrieve regular files
---> MDTM index.html
<--- 213 20151117055333
---> MDTM js
<--- 550 I can only retrieve regular files
---> MDTM less
<--- 550 I can only retrieve regular files
---> MDTM libs
<--- 550 I can only retrieve regular files
get -e -O ftp://<my_user>%40<my_domain>.com:<my_password>#<my_domain>.com/cssinstaglam file:<local_project_path>/build/cssinstaglam/favicon.ico
get -e -O ftp://<my_user>%40<my_domain>.com:<my_password>#<my_domain>.com/cssinstaglam file:<local_project_path>/build/cssinstaglam/index.html
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<< FILES TRANSFERED-- OMITTED FOR BREVITY >>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Total: 48 directories, 299 files, 0 symlinks
New: 4 files, 0 symlinks
Modified: 295 files, 0 symlinks
To be removed: 7 directories, 5 files, 0 symlinks
---> QUIT
---- Closing control socket
I believe you have to use set ftp:ssl-force yes (you are missing the yes). This worked for me.

PureFtpd passive port range doesn't deliver listening address to client

I'm trying to configure my pureftpd behind the firewall to act as a passive ftp/TLS server.
Acting machines:
Server: 192.168.3.220 (internal network, default route to the router at 192.168.3.1)
Configuration: pureftpd with PassivePorts 64000 64300, MasqueradeAddress ww.xx.yy.zz (this one is configured on router)
Router: internal: 192.168.3.1, DNAT rule (PREROUTING chain) ww.xx.yy.zz tcp/21,64000:64300 NATed to address 192.168.3.220, FORWARD chain accepting these packets both directions.
Client1: external server with fixed public IP
Client2: NATed machine somewhere - on 192.168.5.x network
Scenario1:
- Client1: connect OK, login OK, command 'ls':
gets OK, after PASV:
---> PASV
GNUTLS: REC[0x28ecce0]: Sending Packet[9] Application Data(23) with length: 6
GNUTLS: REC[0x28ecce0]: Sent Packet[10] Application Data(23) with length: 37
GNUTLS: ASSERT: gnutls_buffers.c:322
GNUTLS: ASSERT: gnutls_buffers.c:322
GNUTLS: REC[0x28ecce0]: Expected Packet[9] Application Data(23) with length: 65536
GNUTLS: REC[0x28ecce0]: Received Packet[9] Application Data(23) with length: 64
GNUTLS: REC[0x28ecce0]: Decrypted Packet[9] Application Data(23) with length: 31
<--- 200 Protection set to Private
---> LIST
---> ABOR
Interesting thing: 227 from server, which I see in paranoid log from pureftpd, I don't see on the client - only the 200 Protection set to Private
...waits cca 30sec and reconnects using ACTIVE(!!) mode -> ls
Scenario2:
- using Client2 (sorry for czech locales):
---> USER xxxxxx
<--- 331 Password required for xxxxxx
---> PASS XXXX
<--- 230 User xxxxxx logged in
---> PWD
<--- 230 Ls oi a:2013-01-03 21:19:00
---> PBSZ 0
<--- 257 "/" is the current directory
---> PROT P
<--- 200 PBSZ 0 successful
---> PASV
<--- 200 Protection set to Private
---> LIST
---> ABOR
---- Přerušený datový socket bude uzavřen (means closing data socket)
---- Řídicí socket bude uzavřen (means closing control socket)
---- Pasivní režim bude vypnut (means Passive will be turned off)
---- dns cache hit
---- Navazuje se spojení na ftp1.xxxxxxxxx.cz (ww.xx.yy.zz) port 21
<--- 220 ww.xx.yy.zz FTP server ready
...
---> USER xxxxxx
<--- 331 Password required for xxxxxx
---> PASS XXXX
<--- 230 User xxxxxx logged in
---> PWD
<--- 230 Ls oi a:2013-01-03 21:19:22
---> PBSZ 0
<--- 257 "/" is the current directory
---> PROT P
<--- 200 PBSZ 0 successful
---> PORT 192,168,5,xx,185,136
<--- 200 Protection set to Private
---> LIST
<--- 500 Illegal PORT command
---- Closing data socket
---> QUIT
ls: Nepřekonatelná chyba: 500 Illegal PORT command
<--- 425 Unable to build data connection: Connection refused
iptables on the NAT machine don't increase my accounting counters on ports 64000:64300, so I expect there's no passive connection made at all.
So... the real problem was the second 230 reply:
---> PWD
<--- 230 Ls oi a:2013-01-03 21:19:22
This is a known issue of the PureFTPd 1.3.3a (default debian squeeze)
The solution was to compile PureFTPd from wheezy (1.3.4a-2), now everything works fine.
Thank you all, who tried to figure out what's going on. Tldv

Resources