`
desert3
  • 浏览: 2158556 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

ftp、sftp、scp、ssh、openssh

 
阅读更多
FTP(File Transfer Protocol):是TCP/IP网络上两台计算机传送文件的协议,FTP是在TCP/IP网络和INTERNET上最早使用的协议之一,它属于网络协议组的应用层。FTP客户机可以给服务器发出命令来下载文件,上载文件,创建或改变服务器上的目录。相比于HTTP,FTP协议要复杂得多。复杂的原因,是因为FTP协议要用到两个TCP连接,一个是命令链路,用来在FTP客户端与服务器之间传递命令;另一个是数据链路,用来上传或下载数据。FTP是基于TCP协议的,因此iptables防火墙设置中只需要放开指定端口(21 + PASV端口范围)的TCP协议即可。

ftp工作模式:
  • PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了一个1024+的随机端口,你过来连接我”。于是服务器从20端口向客户端的1024+随机端口发送连接请求,建立一条数据链路来传送数据。
  • PASV(Passive被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了一个1024+的随机端口,你过来连接我”。于是客户端向服务器的指定端口发送连接请求,建立一条数据链路来传送数据。
  • PORT方式,服务器会主动连接客户端的指定端口,那么如果客户端通过代理服务器链接到internet上的网络的话,服务器端可能会连接不到客户端本机指定的端口,或者被客户端、代理服务器防火墙阻塞了连接,导致连接失败
  • PASV方式,服务器端防火墙除了要放开21端口外,还要放开PASV配置指定的端口范围

sftp(Secure File Transfer Protocol):安全文件传送协议。可以为传输文件提供一种安全的加密方法。sftp 与 ftp 有着几乎一样的语法和功能。SFTP为SSH的一部份,是一种传输文件到服务器的安全方式。在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol)的安全文件传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。SFTP同样是使用加密传输认证信息和传输的数据,所以,使用SFTP是非常安全的。但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多,如果您对网络安全性要求更高时,可以使用SFTP代替FTP。

SCP(Secure Copy):scp就是secure copy,是用来进行远程文件复制的,并且整个复制过程是加密的。数据传输使用ssh,并且和使用和ssh相同的认证方式,提供相同的安全保证。

ftp & scp/sftp比较:
  • 和ftp不同的是sftp/scp传输协议是采用加密方式来传输数据的。而ftp一般来说允许明文传输,当然现在也有带SSL的加密ftp,有些服务器软件也可以设置成“只允许加密连接”,但是毕竟不是默认设置需要我们手工调整,而且很多用户都会忽略这个设置。
  • 普通ftp仅使用端口21作为命令传输。由服务器和客户端协商另外一个随机端口来进行数据传送。在pasv模式下,服务器端需要侦听另一个端口。假如服务器在路由器或者防火墙后面,端口映射会比较麻烦,因为无法提前知道数据端口编号,无法映射。(现在的ftp服务器大都支持限制数据端口随机取值范围,一定程度上解决这个问题,但仍然要映射21号以及一个数据端口范围,还有些服务器通过UPnP协议与路由器协商动态映射,但比较少见)
  • 当你的网络中还有一些unix系统的机器时,在它们上面自带了scp/sftp等客户端,不用再安装其它软件来实现传输目的。
  • scp/sftp属于开源协议,我们可以免费使用不像FTP那样使用上存在安全或版权问题。所有scp/sftp传输软件(服务器端和客户端)均免费并开源,方便我们开发各种扩展插件和应用组件。
  • 小提示:当然在提供安全传输的前提下sftp还是存在一些不足的,例如他的帐号访问权限是严格遵照系统用户实现的,只有将该帐户添加为操作系统某用户才能够保证其可以正常登录sftp服务器

SSH(Secure Shell):,由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
  • SSH是由客户端和服务端的软件组成的:服务端是一个守护进程(daemon),他在后台运行并响应来自客户端的连接请求。服务端一般是sshd进程,提供了对远程连接的处理,一般包括公共密钥认证、密钥交换、对称密钥加密和非安全连接; 客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。
  • 从客户端来看,SSH提供两种级别的安全验证:第一种级别(基于口令的安全验证); 第二种级别(基于密匙的安全验证)。
  • SSH 主要有三部分组成: 传输层协议 [SSH-TRANS] ;用户认证协议 [SSH-USERAUTH] ;连接协议 [SSH-CONNECT]

OpenSSH:是SSH(Secure SHell)协议的免费开源实现。SSH协议族可以用来进行远程控制,或在计算机之间传送文件。而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、rsh都是极为不安全的,并且会使用明文传送密码。OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控件和文件传输过程的中的数据,并由此来代替原来的类似服务。 OpenSSH是使用SSH透过计算机网络加密通讯的实现。它是取代由SSH Communications Security所提供的商用版本的开放源代码方案。目前OpenSSH是OpenBSD的子计划。OpenSSH常常被误认以为与OpenSSL有关联,但实际上这两个计划的有不同的目的,不同的发展团队,名称相近只是因为两者有同样的软件发展目标──提供开放源代码的加密通讯软件。

ssh -V:查看当前服务器的ssh版本信息
分享到:
评论

相关推荐

    不需要远程传输文件Linux如何关闭scp和sftp命令.docx

    因此,在Linux系统中禁止scp和sftp命令的方法是删除openssh-clients包和修改/etc/ssh/sshd_config文件。这样可以避免scp和sftp命令带来的风险。但是,需要注意的是,禁止这些命令会影响远程文件传输的功能,因此需要...

    FTP和SSH客户端

    为提高安全性,通常会使用FTPS(FTP over SSL/TLS)或SFTP(Secure File Transfer Protocol,但SFTP不是FTP的子集,而是基于SSH协议)。 SSH则是一种网络协议,主要用于安全地远程登录到服务器,执行命令、管理文件...

    scp和sftp常用操作

    ### SCP和SFTP常用操作详解 ...通过以上介绍,可以看出SCP和SFTP都提供了强大的文件传输功能,它们之间的主要区别在于SFTP提供了更多类似于FTP的文件管理功能。根据具体需求选择合适的方法进行文件传输和管理。

    在solaris10下配置ssh及使用客户端FTP连接

    WinSCP 是一个功能强大的 FTP 客户端,支持多种文件传输协议,包括 FTP、SFTP、SCP 等。 在 WinSCP 中,可以选择两种操作界面:Commander 和 Explorer。如果是第一次使用,建议使用 Commander 模式,这个和 ...

    Renci.SshNet.dll实现SSH、SCP、FTP功能支持,下载

    Renci.SshNet.dll及其文档和实现SSH、SCP、FTP等操作的功能支持,下载

    openssh-9.4p1-ky10.tgz

    3. **文件传输**:scp和sftp命令允许用户在不同的主机间安全地传输文件,避免了使用不安全的FTP协议。 4. **端口转发**:OpenSSH支持端口转发功能,可以将本地端口的连接转发到远程主机,为访问受限的服务提供了一...

    openssh-9.3p2 rpm安装包

    1. `openssh-clients-9.3p2-1.el6.x86_64.rpm`:这个包包含了OpenSSH的客户端组件,如ssh、scp、sftp等,用于连接到OpenSSH服务器进行安全通信。 2. `openssh-9.3p2-1.el6.x86_64.rpm`:这是OpenSSH的核心库和通用...

    Informatica中关于FTP的使用

    SFTP是FTP的安全替代品,它使用SSH(安全壳层协议)来传输文件,能够加密命令和数据,以防止敏感信息,如密码在网络中以明文形式传输。 首先,需要明确什么是SFTP以及如何使用它来传输文件。SFTP(Secure File ...

    OpenSSH安全下载,最新版本

    scp、sftp rcp的替代方案,将文件复制到其他电脑上。 sshd SSH服务器。 ssh-keygen 产生RSA或DSA密钥,用来认证用。 ssh-agent、ssh-add 帮助用户不需要每次都要输入密钥密码的工具。 ssh-keyscan 扫描一群机器,并...

    LINUX openssh安装包

    3. **OpenSSH**:OpenSSH是SSH的开源版本,包括sshd服务器、ssh客户端、scp、sftp等工具,提供加密的网络通信,确保数据传输的安全性。 在Linux上安装OpenSSH的步骤通常包括以下部分: 1. **环境准备**:首先,...

    SSH 虚拟机与Wiindows文件共享工具

    2. **SFTP(SSH File Transfer Protocol)**:SFTP是SSH的一部分,提供了类似于FTP的安全文件传输功能。通过SFTP,用户可以在Linux和Windows之间浏览、上传和下载文件。可以使用支持SFTP的客户端(如FileZilla或...

    openssh7.9p1-64bit

    8. **sftp**:sftp.exe是安全文件传输协议的客户端,提供了在安全连接上进行文件传输的功能,类似于FTP但更安全。 9. **sftp-server**:sftp-server.exe是用于在服务器端运行的SFTP服务,接收并处理客户端的文件...

    ubuntu ssh 离线安装包

    SFTP与FTP不同,它使用SSH的加密特性,保证了数据传输的安全性。 4. **lrzsz_0.12.21-8_i386.deb**:lrzsz是一个开源软件包,包含了rz和sz命令,它们允许通过SSH连接进行文件的上传和下载。rz命令用于上传文件,sz...

    OpenSSH-Win64.zip

    OpenSSH的主要组件包括ssh客户端、sshd服务器、scp文件传输、sftp安全文件传输协议以及密钥管理工具等。通过这些组件,用户可以在Windows环境下远程控制其他主机,执行命令、传输文件,并进行系统管理。 在Windows ...

    OPENSSH,用于服务器上传或下载文件

    OpenSSH 包括多个组件,如 sshd(SSH 服务器守护进程),ssh(客户端程序),scp(安全复制),sftp(安全文件传输协议客户端)等。这些组件共同构成了一个功能强大的工具集,满足各种远程管理任务需求。 **使用 ...

    openssh-8.8p1.tar.gz

    4. **sftp**:安全文件传输协议客户端,提供FTP-like的功能,但基于SSH协议,确保数据传输的安全性。 5. **ssh-keygen**:用于生成公钥/私钥对,这是SSH身份验证的基础。 6. **ssh-copy-id**:便捷工具,用于将本地...

    openssh-5.7.tar.gz

    OpenSSH由多个组件构成,包括ssh(客户端),sshd(服务器端),sftp(文件传输协议),scp(安全复制命令)等。这些组件协同工作,确保用户可以安全地进行远程操作。 1. ssh:作为客户端,ssh允许用户通过加密连接登录到...

    SSH-windows to linux

    4. **文件传输**:SSH提供两种文件传输协议:SFTP(SSH File Transfer Protocol)和SCP(Secure Copy)。SFTP是SSH的一部分,提供一个独立的文件传输会话。SCP基于SSH,用于在命令行中复制文件和目录。例如,在...

    openssh6.7 for ia

    4. 集成SFTP和SCP:OpenSSH内置了SFTP(Secure File Transfer Protocol)和SCP(Secure Copy),允许用户安全地传输文件和目录,避免了FTP和cp命令的潜在风险。 5. 配置灵活性:OpenSSH的配置文件(/etc/ssh/sshd_...

    openssh7.4.zip

    1. **openssh-clients**:包含了ssh、scp、sftp等一系列用于连接到远程服务器的客户端工具。ssh是主要的命令行工具,通过它用户可以实现安全的远程登录;scp用于文件的安全复制;sftp则提供了一个基于文件传输协议...

Global site tag (gtag.js) - Google Analytics