2016-07-08 23 views
5

Mam program lftp na serwerze Ubuntu i próbuję połączyć się z FTP IIS. W IIS jest skonfigurowany z samopodpisanym certyfikatem i przy użyciu WinSCP łączy Ok z jawną opcją SSL. Ale za pomocą lftp polecenia choć łączy, gdy polecenie cat files lub get [filename] Dostaję błędu 534 protection level negotiation failedNie mogę połączyć LTPP z FTP IIS z SSL

poleceń jak cd [foldername] działa ok wchodzę. Nie mogę dostać tego, co jest nie tak. Czy lftp wymaga pewnych określonych opcji dla tej sprawy?

Odpowiedz

4

Po eksperymentach z lftp zamieszczam rozwiązanie za pomocą skryptu bash. Tak więc zawartość pliku skryptu bash będzie

#!/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 

Gdzie zmieniając pierwszą część z odpowiednimi parametrami host ftp, skrypt weźmie lustro wszystkich plików w katalogu lokalnego do zdalnego jeden.

Ponieważ zdalnym hostem jest serwer FTP w systemie Windows IIS z skonfigurowanym certyfikatem samopodpisanym, muszę zauważyć, że w skrypcie jest potrzebne polecenie set ssl:verify-certificate no. Również użytkownik IIS/FTP musi zostać wprowadzony w postaci HOST | USER, np. ftp.mydomain.com | nazwa użytkownika, z jakiegoś powodu, jeśli jest to ustawione w LFT parametr USER uwierzytelnianie nie powiedzie się. Musisz ommit nazwę HOST i po prostu ustawić nazwę użytkownika tylko ... i w ten sposób łączy się pomyślnie.

Powiązane problemy