欢迎登陆真网站,您的到来是我们的荣幸。 登陆 注册 忘记密码? ☆设为首页 △加入收藏
欢迎加入真幸福QQ群
电脑知识: 基础知识 网络技术 操作系统 办公软件 电脑维修 电脑安全 windows7 windows8 windows10 服务器教程 平板电脑 视频播放教程 网络应用 互联网 工具软件 浏览器教程 QQ技巧 输入法教程 影视制作 YY教程 wps教程 word教程 Excel教程 PowerPoint
云南西双版纳特产小花糯玉米真空包装


三款iOS手写笔对比 谁最适合在iPad上使用?
Win10右键菜单弹出很慢怎么办
iPad电池续航能力怎么提升
win7打开腾讯安全管家老是弹出免费升级win10的窗口怎么关闭
Excel如何设置数据出错警告
会声会影怎么导出视频并刻录光盘
Win10 14393.447更新补丁KB3200970更新内容汇总
Word2013如何插入页眉并调整页眉高度
网页字体我做主 傲游3广告过滤另类应用
上传到腾讯视频的视频如何删除与编辑
Linux下为不使用SSH的用户提供SFTP服务环境
【 来源:网络 】【 点击:2 】 【 发布时间:2017_03_03 08:59:59 】

   SFTP

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

  PS:FTP与SFTP的区别

  FTP是文件传输协议。在网站上,如果你想把文件和人共享,最便捷的方式莫过于把文件上传到FTP服务器上,其他人通过FTP客户端程序来下载所需要的文件。

  FTP进行文件传输需要通过端口进行。一般所需端口为:

  1.控制链路—TCP端口21。控制器端。用于发送指令给服务器以及等待服务器响应。

  2.数据链路---TCP端口20。数据传输端口。用来建立数据传输通道的。主要用来从客户向服务器发送一个文件、从服务器向客户发送一个文件、从服务器向客户发送文件或目录列表。

  FTP为了适应不同的网络环境,支持主动连接和被动连接两种模式。这两种模式都主要针对数据链路进行的,跟控制链路无关。

  FTP的安全隐患:

  一、FTP服务器软件漏洞。

  二、明文口令。

  三、FTP旗标。

  四、通过FTP服务器进行端口扫描。

  五、数据劫持。

  FTP的安全策略:

  一、使用较比安全的系统和FTP服务软件。

  二、使用密文传输用户名和口令。

  三、更改服务软件的旗标。

  四、加强协议安全性。

  为非SSH用户配置SFTP环境

  SFTP是Secure File Transfer Protocol的缩写,是安全文件传送协议。可以为传输文件提供一种安全的加密方法。跟ftp几乎语法功能一样。

  步骤:1 创建组

  代码如下:

  [root@localhost ~]# groupadd sftp_users

  步骤:2 分配附属组(sftp_users)给用户

  如果用户在系统上不存在,使用以下命令创建( LCTT 译注:这里给用户指定了一个不能登录的 shell,以防止通过 ssh 登录):

  代码如下:

  [root@localhost ~]# useradd -G sftp_users -s /sbin/nologin jack

< p>[root@localhost ~]# passwd jack

 

  对于已经存在的用户,使用以下usermod命令进行修改:

  代码如下:

  [root@localhost ~]# usermod –G sftp_users -s /sbin/nologin jack

  注意:如果你想要修改用户的默认家目录,那么可以在useradd和usermod命令中使用‘-d’选项,并设置合适的权限。

  步骤:3 现在编辑配置文件 “/etc/ssh/sshd_config”

  代码如下:

  # vi /etc/ssh/sshd_config

< p>#comment out the below line and add a line like below

 

< p>#Subsystem sftp /usr/libexec/openssh/sftp-server

 

< p>Subsystem sftp internal-sftp

 

< p># add Below lines at the end of file

 

< p>Match Group sftp_users

 

< p>X11Forwarding no

 

< p>AllowTcpForwarding no

 

< p>ChrootDirectory %h

 

< p>ForceCommand internal-sftp

 

  此处:

  Match Group sftp_users – 该参数指定以下的行将仅仅匹配sftp_users组中的用户

  ChrootDirectory %h – 该参数指定用户验证后用于chroot环境的路径(默认的用户家目录)。对于用户 Jack,该路径就是/home/jack。

  ForceCommand internal-sftp – 该参数强制执行内部sftp,并忽略任何~/.ssh/rc文件中的命令。

  重启ssh服务

  代码如下:

  # service sshd restart

  步骤:4 设置权限:

  代码如下:

  [root@localhost ~]# chmod 755 /home/jack

< p>[root@localhost ~]# chown root /home/jack

 

< p>[root@localhost ~]# chgrp -R sftp_users /home/jack

 

  如果你想要允许jack用户上传文件,那么创建一个上传文件夹,设置权限如下:

  代码如下:

  [root@localhost jack]# mkdir /home/jack/upload

< p>[root@localhost jack]# chown jack. /home/jack upload/

 

  步骤:5 现在尝试访问系统并进行测试

  尝试通过ssh访问系统

20151211120252349.png (462×129)

  正如下图所示,用户jack通过SFTP登录,而且因为chroot环境不能切换目录。

20151211120312379.png (519×159)

  现在进行上传和下载测试,如下图:

20151211120329443.png (713×186)

  正如上图所示,jack用户的上传下载功能都工作得很好。

本网站由川南居提供技术支持,fkzxf版权所有 浙ICP备12031891号
淳安分站 淳安分站