众所周知在Windows 系统和Linux类系统的最大区别就在于他的非开源性,因此在Windows 下我们传输文件,共享资源主要通过FTP协议 来实现,和以前的TFTP协议 相比FTP提供了必要的安全 保证措施,然而对于一些要求网络安全 级别比较高,需要严格防范传输数据被监听工具窃取的情况来说,FTP协议 就无法胜任了,这时我们应该寻找更加安全的传输协议来保证服务器 的安全。今天笔者就为各位IT168的读者介绍在Windows下如何通过sftp打造安全传输。  一、什么是sftp?
  一般来说两台机 器间的文件传输,除了常用的ftp以外,还可以通过scp/sftp协议(就是本文介绍的sftp)进行。下面我们就来看看sftp协议与ftp协议之间的差别。
  (1)和ftp不同的是sftp/scp传输协议默认是采用加密方式来传输数据的,scp/sftp确保传输的一切数据都是加密的。而ftp一般来说允许明文传输,当然现在也有带SSL的加密ftp,有些服务器 软件 也可以设置成“只允许加密连接”,但是毕竟不是默认设置需要我们手工调整,而且很多用户都会忽略这个设置。
  (2)普通ftp仅使用端口21作为命令传输。由服务器和客户端协商另外一个随机端口来进行数据传送。在pasv模式下,服务器端需要侦听另一个口。假如服务器在路由 器或者防火墙 后面,端口映射会比较麻烦,因为无法提前知道数据端口编号,无法映射。(现在的ftp服务器大都支持限制数据端口随机取值范围,一定程度上解决这个问题,但仍然要映射21号以及一个数据端口范围,还有些服务器通过UPnP协议与路由器 协商动态映射,但比较少见)
  (3)当你的网络中还有一些unix系统的机器时,在它们上面自带了scp等客户端,不用再安装其它软件来实现传输目的。
  (4)scp/sftp属于开源协议,我们可以免费使用不像FTP那样使用上存在安全或版权问题。所有scp/sftp传输软件(服务器端和客户端)均免费并开源,方便我们开发各种扩展插件和应用组件。
  小提示:当然在提供安全传输的前提下sftp还是存在一些不足的,例如他的帐号访问权限是严格遵照系统用户实现的,只有将该帐户添加为操作系统 某用户才能够保证其可以正常登录sftp服务器。

  二、下载 所需程序:
  本文介绍的所有工具都不是诞生于windows系统的,他们是从unix移植过来的,配置方式仍然使用了conf文件的方式,几乎没有图形界 面。而且这些配置文件一般用unix换行符,所以建议各位读者使用ultraedit等工具而不是notepad来编辑,一是确保能正常显示,二是确保保 存时不会破坏它的格式导致服务程序无法读取。
  服务器端我们使用openssh,它自带了cygwin环境以及scp/sftp的服务器(sftp是ssh的一个“子服务”,在ssh通道中使用某个命令在需要时激活)。
  打开浏览器访问下载 SSHWindows-Installer href="http://sourceforge.net/project/showfiles.php?group_id=103886&package_id=111688&release_id=252007" target=_blank>这里,在该页面中我们下载 SSHWindows-Installer, 3.8p1-1 20040709 Build这个程序即可。

而客户端我们则采用的是winscp软件,他是一款图形化界面的软件,界面操作类似于ftp软件,很好上手。我们到http://sourceforge.net/project/showfiles.php ?group_id=85589这个地址下载WinSCP 3.8.2.(如图2)

三、配置sftp服务端:
  sftp服务端的安装与配置还是比较简单的,通过几条命令就可以开启sftp服务。
  第一步:将之前下载的sftp服务端解压缩,然后直接运行主程序。点“NEXT”按钮进行下面的操作。(如图3)

第二步:在许可协议窗口处填写“同意”并点“下一步”按钮继续。(如图4)

第三步:在接下来的配置窗口中选择要安装的组件,从界面中我们可以看到包括client(客户端)与server(服务器端),实际上我们只需要服务器 端,而客户端我们使用之前下载的WinSCP 3.8.2即可。选择相应的服务器端组件后点“下一步”按钮继续。(如图5)

第四步:选择程序安装的路径,默认是c:/program files/openssh,建议大家不修改这个缺省地址。(如图6)

第五步:默认情况下openssh将添加一个应用程序到开始程序中,名字叫做openssh for windows.(如图7)

第六步:安装的最后openssh会自动建立ssh安全加密key,保证SSH传输过程中的安全可靠。(如图8)

第七步:完成所有安装工作,点“完成”按钮回到桌面。(如图9)

第八步:接下来就要启动该服务了,我们通过“开始->运行->输入CMD后回车”进入到命令提示窗口,然后通过cd命令定位到c:/programfiles/openssh/bin目录。(如图10)

第九步:依次执行mkgroup -l >> ……/etc/group mkpasswd -l >> ……/etc/passwd命令,这样你目前windows本地帐户中的用户就都可以登录该sftp服务器了,他们自对文件目录的访问权限和NTFS权限 一致。此步骤相当于FTP中的建立访问帐号。(如图11)

第十步:添加完各个访问帐户后我们可以到c:/program files/openssh/etc目录中来查看group和passwd两个文件的内容,当然这些内容是经过了加密的。(如图12)

这两个文件存储 的 都是帐户相关信息,正如前面所说他们是从unix移植过来的,配置方式仍然使用了conf文件的方式,几乎没有图形界面。而且这些配置文件一般用unix 换行符,建议各位IT168读者使用ultraedit等工具而不是notepad来编辑,一是确保能正常显示,二是确保保存时不会破坏它的格式导致服务 程序无法读取。(如图13)

第十一步:最后在刚才进入的c:/program files/openssh/bin目录下执行net start opensshd命令,这将启动opensshd服务,我们就可以开始访问了。(如图14)

小提示:一般sftp用默认的22端口发布服务就行。如果你有特殊的原因要把这个端口改掉,请编辑C:/ProgramFiles/OpenSSH/ etc/sshd_config文件,把这一行改成你要的端口,比如8029,设置完毕后需要重启openssh服务(任何配置改动都需要重启服务)。

  至此服务器端的配置完成,下面我们来介绍如何在客户端上访问建立的sftp服务。
  小提示:如果以后要继续添加访问帐户的话,首先在windows中加上这个用户,例如我们以名为softer的帐户为例,设置密码,确保不要 选中“下次登录必须改密码”。这个用户的权限和用户组由你来决定。然后进入c:/program files/openssh/bin目录,执行mkpassword -l -u softer >> ……/etc/passwd命令即可将刚才添加的softer帐户添加到访问权限中。说白了指令加-u是加单独一个帐户,没有-u参数的话将把当前系统中 所有帐户添加到容许访问sftp服务器的帐户列表中。
  四、配置sftp客户端:
  配置sftp客户端就更加简单了,由于之前我们已经下载了WinSCP 3.8.2,所以直接运行该程序即可出现登录配置界面。(如图15)

我们根据实际填写sftp服务器的地址和访问帐户信息,协议方面保持默认的sftp (allow scp fallback)即可,完成设置后点login登录按钮后会出现“使用提示”信息,不用理会继续即可。(如图16)

登录进入服务器后我们会看到界面显示和我们之前熟悉的ftp登录工具一样,特别是和flashfxp登录FTP服务器类似。右边是我们看到的sftp服务器发布的目录。(如图17)

当然这个默认发布目录可能不是我们希望看到的,如果想要访问你的C盘,我们可以先把焦点放在服务器那半边窗口,然后按ctrl+o,输入/cygdrive/c并回车,这样就可以把这个目录加到winscp的书签或者作为登录时的默认目录。(如图18)

五、总结:
  当我们要关闭sftp服务时只需要在服务器端对应目录执行net stop opensshd指令即可,这样对应服务将自动关闭。(如图19)另外如果在客户端上无法访问sftp服务器的话,很可能是因为XP系统自带防火墙 捣乱,我们关闭防火墙或者手动在windows防火墙配置中允许c:/Program Files/OpenSSH/usr/sbin/sshd.exe程序的执行和对网络的访问即可。

Windows下用sftp巧妙打造安全传输相关推荐

  1. win7连接sftp_Windows下用sftp巧妙打造安全传输

    众所周知在系统和Linux类系统的最大区别就在于他的非开源性,因此在下我们传输文件,共享资源主要通过FTP来实现,和以前的TFTP相比FTP提供了必要的保证措施,然而对于一些要求网络级别比较高,需要严 ...

  2. windows sftp linux,Windows 下的SFTP服务器配置

    一.概述 SFTP服务器,在Linux和Mac系统中是自带的.windows下需要安装freeSSHd进行实现. 二.配置步骤 2.1 下载freeSSHd.exe 2.2 安装一直下一步.(弹出图中 ...

  3. 使用secure CRT的SFTP在LINUX与WINDOWS下交换文件

    原文链接:http://ice-k.iteye.com/blog/1068275 很多用户还是经常在WINDOWS下完成日常工作的,但是同时在管理或测试LINUX系统的时候需要经常与远程LINUX服务 ...

  4. Windows与Linux之间海量文件的传输与Linux下大小写敏感问题

    Windows与Linux之间海量文件的传输与Linux下大小写敏感问题 mount.cifs 支持通过网络文件系统挂载,不过需要安装cifs-utils,也可通过mount -t cifs挂载,详细 ...

  5. xshell下利用SFTP传输文件

    SFTP是基于SSH的文件传输协议,与ZMODEM相比具有更加安全且更为快速的文件传输功能. 如何利用SFTP接收文件: 在本地提示以sftp命令登陆拟要接收文件的主机. Xshell:> sf ...

  6. WEB相关:Windows下打造完美的服务器平台

    Windows下打造完美的服务器平台(APACHE+JSP+CGI+PHP+ASP+MYSQL) 需要下载几个软件包: 1. php-5.0.2-Win32 2. apache_2.0.52-win3 ...

  7. win10自带sftp服务器_FreeSSHD在Windows环境下搭建SFTP服务器

    0 建议现在Windows环境下安装cygwin,否则在Windows环境下cmd模式使用不了sftp去连接,可以利用win scp去测试连接 2 安装 傻瓜式一键安装 安装过程中会提示"提 ...

  8. c++网络编程——用TCP实现文件传输(windows下基于VS2017)

    c++网络编程--用TCP实现文件传输 定义文件传输协议 服务端代码 客户端代码 测试 文件传输协议FTP是基于TCP协议实现的,为了体验这个过程,本文自定义一个简单的文件传输协议,并基于TCP协议编 ...

  9. 巧妙解决windows下 copy命令不接受太长路径的问题

    巧妙解决windows下 copy命令不接受太长路径的问题 参考文章: (1)巧妙解决windows下 copy命令不接受太长路径的问题 (2)https://www.cnblogs.com/xiam ...

最新文章

  1. oracle RAC的VIP和scan
  2. 关于学习Python的一点学习总结(42->继承list)
  3. 自定义定时器的一点总结
  4. zz为什么人人都该学点心理学
  5. 多DHCP服务器的作用域 及备用DHCP服务器(一)
  6. Mac系统git clone 慢【解决方案】
  7. mysql comment
  8. ie设置ActiveX控件不提示
  9. VS2015配置opencv教程(图文详解)
  10. NewCode----数串
  11. 【JS 逆向百例】Fiddler 插件 Hook 实战,某创帮登录逆向
  12. android 充电动画_iPhone 12充电测试:18/20W并无明显区别
  13. android摄像头矩形框提取_视频图像摄像头跟踪的上位机系统设计
  14. App 开发穷途末路?
  15. 从零基础入门Tensorflow2.0 ----四、17.生成tfrecords文件
  16. 游戏引擎BigWorld宣布将在4.0版本支持HTML5
  17. flixel 一个游戏开发的框架
  18. Java 进阶 hello world! - 中级程序员之路
  19. Unity的四种坐标系
  20. java特种兵读书笔记(3-5)——java程序员的OS之OOM

热门文章

  1. 【万字综述】NLP语言模型发展史
  2. ROS入门WIKI学习记录
  3. div制作横向导航条
  4. 下载windows操作系统
  5. 仿360手机助手下载按钮
  6. 正则表达式快速入门(三)
  7. win7访问winxp失败
  8. Java基础练习——读心术(扑克牌魔术——21张扑克牌)–代码简化版
  9. Semantic UI 之 表格 table
  10. 通通透透理解ThreadLocal