jol是什麼意思在線翻譯讀音例句-软件培训


2023年4月2日发(作者:glee第四季)

FTP、FTPS和SFTP

FTP、FTPS和SFTP

⼀、协议知识

FTP

FTP(FileTransferProtocol,RFC959)是TCP/IP⽹络上⽤于⽂件传输的标准协议,基于C/S架构,可以上传、下载、删除⽂

件,创建或改变服务器上的⽬录。在客户端和服务器间要建⽴分离的控制和数据连接,控制连接⽤于Session管理,如交换命令和回

复、交换⽤户标识和密码等,数据连接⽤于传输数据。FTP使⽤明⽂登录协议验证⽤户名和密码,如果服务器允许也可以匿名连接。

FTP有两种传输模式:主动和被动。主动模式时,客户端创建到服务器的TCP控制连接,发送客户端IP地址和随机的端⼝号,然

后等待直到服务器初始化数据连接。这种情况下,如果客户端有防⽕墙,将⽆法接受进⼊的TCP连接。被动模式时,客户端使⽤控制

连接向服务器发送PASV命令,然后接收服务器IP地址和端⼝号,客户端使⽤随机端⼝建⽴到服务器的数据连接。由于控制连接和数

据连接都由客户端发起,这就可以解决防⽕墙问题。

多数浏览器和⽂件管理器都能连接FTP服务器,默认⼤都使⽤被动模式。FTPURL语法如下:

>

FTP不是⼀个安全的协议,所有的⽤户名、密码、命令和数据等都使⽤明⽂传输,⾮常容易就可以截获这些内容。在加密机制创⽴

前设计的的⽹络协议,如SMTP、Telnet、POP、IMAP,都有这个问题。

FTPS

FTPoverSSL,常被称为SecureFTP,它是构建在SSL/TLS(RFC5246,SecureSocketLay下自成蹊 er/TransportLayerSecurity)协

之上的,通过SSL/TLS对信道进⾏加密传输,它本⾝还需要FTP服务器的⽀持,⼜分为显⽰和隐式。

显⽰FTPS⼜称为FTPES,是对FTP标准的扩展,客户端必须显⽰请求(客户端发送\"AUTHTLS\"命令)对FTP会话加密。如果客户

端不要求加密,服务器也允许⾮加密通讯。服务器可以选择允许或拒绝未请求TLS的连接。这个扩展协议在推荐标准RFC4217中定义。

隐式FTPS是过期的FTP标迭起的意思 准,需要所有客户端都使⽤SSL或TLS连接。为了保持兼容性,隐式FTPS控制连接使⽤990端⼝,数

据连接使⽤989端⼝。注意,隐式FTPS未在RFC4217中定义。

FTPS⽀持如下验证⽅式:

1、密码验证

2、SSL证书验证

SFTP

SFTP(SSHFileTransferProtocol)是SSH2.0的⼀项扩展协议,提供安全的⽂件访问、⽂件传输和⽂件管理功能。SFTP协议的

⽬标是通过任何可靠的数据流提供安全的小学生必读的国学经典 ⽂件传输功能,本⾝不提供验证和安琵琶行原文完整版 全,需要依赖底层协议。SFTP协议虽然在SSH2协议中

描述,但它是通⽤的,独⽴于SSH2套件中的其余协议。SFTP常作为SSH2.0实现的⼀个⼦系统。

SFTP除了也有⽂件传输功能,有相似的命令集外,与FTP是⽆关的。与标准FTP不同,它加密命令和数据,以防⽌在⽹络上明⽂

传输密码和敏感信息。功能上与FTP相似,但由于使⽤了不同的协议,不能使⽤标准的FTP客户端与SFTP服务器通讯,也不能使⽤

SFTP客户端与FTP服务器通讯。

SFTP是⼆进制协议,所有的命令(请求)都打包优秀作文 成⼆进制消息后发送到服务器,服务器回复⼆进制应答包。

与早期的仅⽀持⽂件传输的SCP协议(SSH1.x中的)相⽐,SFTP协议⽀持更⼴泛的远程⽂件操作。SFTP客户端增加的额外功能

包括:恢复中断的传输、⽬录列表、远程⽂件删除。SFTP服务器⽀持⼤多数平台。SSH1是过时的,不安全的,不推荐使⽤。

FTPS和SFTP相同点在于都组合使⽤了对称加密算法(DES/3DES,AES等)、⾮对称加密算法(RSA,DSA)和密钥交换算法。不同之

处在于他们的验证⽅式,FTPS使⽤X.509证书验证,⽽SFTP使⽤SSH密钥。X.509证书包含公钥和证书持有者信息,通过这些信

息,

另⼀⽅可以校验证书本⾝的完整性和验证证书持有者。SSH密钥仅包含公钥。

SSH服务器提供了如下3种验证⽅式:

1、密码验证

2、密钥验证

3、密码加密钥验证

关于验证⽅式的选择,推荐使⽤密钥验证,其安全性⾼于单纯的密码验证。

⽬前使⽤最⼴泛的SFTP服务器是OpenSSH。

FTPoverSSH

FTPoverSSHreferstothepracticeoftunnelinganormalFTPsessionoveranSSHconnection.

因为FTP使⽤了多个TCP连接,通过SSH隧道技术是很难实现的。对于许多SSH客户端,试图为控制通道建⽴⼀个隧道,只能保

护这⼀个通道,当传输数据时,FTP软件将建⽴新的TCP连接(数据通道),将绕开SSH连接,因⽽没有机密性、完整性保护。否则,

SSH客户端软件应具有FTP协议知识,监控和重写FTP控制通道消息,⾃主为FTP数据通道打开新的数据包转发。

因此,此⽅案技术上可⾏,但⾮常少⽤。

⼆、FTPSvsSFTP

请参考⽂档:WhattoChoose

三、Java客户端API

ApacheCommonsNet

⽀持的协议:

FTP/FTPS

FTPoverHTTP(experimental)

NNTP

SMTP(S)

POP3(S)

IMAP(S)

Telnet

TFTP

Finger

Whois

rexec/rcmd/rlogin

Time(rdate)andDaytime

Echo

Discard

NTP/SNTP

ftp4j是实现了全功能FTP客户端的Java类库(LGPLlicense),通过它可以传输⽂件(上传和下载),浏览远程FTP站点(包括

⽬录列表),创建、删除、重命名、移动远程⽬录和⽂件。ftp4j提供多种⽅式连接到远程FTP服务器,包括:通过TCP/IP直接连接,

通过FTP代理、HTTP代理、SOCKS4/4a代理和SOCKS5代理连接。

⽀持FTPS(FTPoverimplicitTLS/SSL)和FTPES(FTP八年级《三峡》翻译 overexplicitTLS/SSL)。

jsch

SSH2的纯Java实现(BSDstylelicense),可以连接到sshd服务器,使⽤端⼝转发、X11转发、⽂件传输(⽀持sftp版本0、1、

2、3)等。⽀持http代理、SOCKS5代理连接。

Jftp

JavaNetworkBrowser,⽀持多平台、多协议的⽹络浏览器。起初jftp只是⼀个ftp客户端,现在已经发展为⽀持file、ftp、

smb、http、sftp、nfs和rawtcp/ip等多种协议。从1.53版本开始使⽤jsch来⽀持sftp。Jftp不仅提供了图形操作界⾯,也可

以使⽤中的API(GPLlicense)。

四、FTP客户端

FileZilla

⽀持FTP、FTPS、SFTP,⽀持多种平台,⽀持多种语⾔,⽀持HTTP/1.1、SOCKS5、FTP代理。

CoreFTP

WindowsFTP客户端,⽀持FTP、FTPS、SFTP。

五、服务器

ApacheSSHD

ApacheSSHD是⽀持SSH协议的100%纯Java类库,可⽤于客户端和服务端,很容易将其嵌⼊到你的应⽤中作为⼀个SSH服务器。

OpenSSH

ftp4j

⽀持SSH协议的所有版本。OpenSSH使⽤ssh程序取代了rlogin和telnet,scp取代了rcp,sftp取代了ftp。也包括sshd,和

其他的⼯具如:ssh-add、ssh-agent、ssh-keysign、ssh-keyscan、ssh-keygen和sftp-server。

copssh

Copssh是⼀个OpenSSH服务器和客户端的windows系统的实现,有图形管理界⾯。它包装了OpenSSH、Cygwin和⼀些流⾏⼯

具,

附加了⼀些安全相关的最佳实践。可以使⽤Copssh安全地远程管理系统或收集远程信息。不幸的是,新版本不是免费的了。

Kypm

KpyMTelnet/SSHServer(KTS)是Windows平台的开源telnet和ssh服务器。最新版本1.19C,更新⽇期为2011-01-29。

DropbearSSHserverandclient

Dropbear是开源、MIT-stylelicense的SSH2服务器和客户端,特别适⽤于嵌⼊型Linux(或其他Unix)系统,如⽆线路由。

更多推荐

ftps是什么意思s在线翻译读音例句