การใช้ไคลเอนต์ FTP ใด ๆ (ฉันใช้ Ubuntu 12.04 และลองใช้lftp
) ฉันต้องการเชื่อมต่อ TLS โดยนัยกับเซิร์ฟเวอร์ FTP แต่ฉันไม่สามารถจัดการการเชื่อมต่อได้สำเร็จ สิ่งที่ฉันได้รับคือ:'ls' at 0 [Delaying before reconnect 29]
การใช้ไคลเอนต์ FTP ใด ๆ (ฉันใช้ Ubuntu 12.04 และลองใช้lftp
) ฉันต้องการเชื่อมต่อ TLS โดยนัยกับเซิร์ฟเวอร์ FTP แต่ฉันไม่สามารถจัดการการเชื่อมต่อได้สำเร็จ สิ่งที่ฉันได้รับคือ:'ls' at 0 [Delaying before reconnect 29]
คำตอบ:
ลองดูสิ:
$ lftp
lftp :~> set ftp:ssl-force true
lftp :~> connect ftp.domain.tld
lftp ftp.domain.tld:~> login <username>
หมายเหตุ:หากเซิร์ฟเวอร์ใช้ใบรับรองที่ลงชื่อด้วยตนเองคุณอาจต้องเพิ่มสิ่งนี้set
ด้วย:
lftp :~> set ssl:verify-certificate no
lftp
4.8.1 ที่ผ่านมามันไม่ทำงาน: gdubicki@mac ~ $ lftp -d lftp :~> set ftp:ssl-force true lftp :~> connect ftp.myserver.com ---- Resolving host address... ---- 1 address found: 111.222.111.222 lftp ftp.myserver.com:~> login someuser Password: lftp someuser@ftp.myserver.com:~> ls ---- Connecting to ftp.myserver.com (111.222.111.222) port 21 <--- 220 Service ready for new user. ---> FEAT <--- 530 Access denied. ---> AUTH TLS <--- 234 Command AUTH okay; starting TLS connection.
- คุณจะเห็นว่านี่เป็น SSL ที่ชัดเจนเนื่องจากAUTH
มีการใช้คำสั่ง
สำหรับTLS / SSL โดยนัยlftp
โปรดใช้คำสั่งเหล่านี้:
connect ftps://ftp.domain.tld
โปรดทราบว่าสิ่งนี้จะเชื่อมต่อคุณกับพอร์ต 990 โดยตรงโดยใช้ TLS
สำหรับTLS / SSL อย่างชัดเจน :
set ftp:ssl-force true
connect ftp://ftp.domain.tld
... ซึ่งจะเชื่อมต่อคุณกับพอร์ต 21 ด้วยข้อความธรรมดา แต่ทันทีเปลี่ยนเป็น TLS โดยใช้AUTH
คำสั่งอย่างชัดเจน
คุณสามารถเพิ่ม-d
พารามิเตอร์ลงในconnect
(เช่นconnect -d ftp://ftp.domain.tld
) เพื่อให้แน่ใจว่าคุณกำลังเชื่อมต่อโดยใช้วิธีที่คุณต้องการ
ทดสอบกับlftp
ข้อ 4.8.4
ในกรณีที่ลิงค์ที่ @summea อ้างถึงหายไปข้างต้นข้อมูลที่เกี่ยวข้องที่แก้ไขปัญหานี้ให้ฉันคือตัวเลือกนี้:
set ftp:ssl-auth TLS