如何部署SFTP服务?
- By : Will
- Category : FTP & SFTP & FTPS
- Tags: sftp
1 基础知识
1.1 概念
sftp是Secure File Transfer Protocol的缩写,安全文件传送协议。
1.2 功能
可以为传输文件提供一种安全的加密方法。
1.3 特点
1)sftp 与 ftp 有着几乎一样的语法和功能。
2)SFTP 为 SSH的一部分,是一种传输档案至 Blogger 伺服器的安全方式。
3)SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接操作
4)SFTP安全性非常高
5)SSH软件已经包含SFTP安全文件传输子系统
1.4 缺点
传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多
1.5 客户端工具
1.5.1 windows客户端
Core FTP,FileZilla, WinSCP,Xftp
1.5.2 linux客户端
sftp username@remote ip(or remote host name)
2 服务端配置
2.1 环境概述
ipaddress=10.168.0.169
OS=centos 6.5
2.2 环境检查
2.2.1 查看openssh的版本
ssh -V
注:要求大于4.8p1版本
2.2.2 关闭selinux
getenforce
如果显示如下:
Enforcing
则执行:
setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
2.3 配置步骤
2.3.1 创建sftp的存放目录
mkdir -p /data/sftp
2.3.2 创建sftp组
groupadd sftp
2.3.3 配置sshd传输子系统
vim /etc/ssh/sshd_config
注释掉如下行:
# Subsystem sftp /usr/libexec/openssh/sftp-server
最后行添加如下参数
Subsystem sftp internal-sftp Match Group sftp X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp ChrootDirectory /data/sftp/%u
2.3.4 重启服务
/etc/init.d/sshd restart
2.3.5 创建sftp用户和相关目录
mkdir /data/sftp/user1/ useradd user1 -g sftp -s /bin/false -d /data/sftp/user1/upload
注:/data/sftp/user1属主必须是root,否则无法登陆。
用户根文件夹权限查看:
ll -d /data/sftp/user1/
显示如下:
drwxr-xr-x. 3 root root 4096 May 10 09:21 /data/sftp/user1
upload文件夹权限查看:
ll -d /data/sftp/user1/upload/
显示如下:
drwx------. 2 user1 sftp 4096 May 10 09:21 /data/sftp/user1/upload/
2.3.6 配置sftp用户的密码
passwd user1
2.3.7 配置脚本方式
1)新建脚本目录
mkdir ~/script
2)创建脚本
vim ~/script/addsftpu.sh
并输入如下内容
#!/bin/bash user=$1 passwd=$2 mkdir -p /data/sftp/$user/ useradd $user -g sftp -s /bin/false -d /data/sftp/$user/upload echo "$passwd" | passwd --stdin $user
3)授权
chmod 700 ~/script/addsftpu.sh
4)新增用户
cd ~/script ./addsftpu.sh user1 'pwd123'
3 客户端配置
3.1 新建连接
3.2 选择连接并登陆
3.3 输入密码登陆
3.4 生成加密秘钥
3.5 登陆成功
参阅文献:
http://blog.csdn.net/xinxin19881112/article/details/46831311
没有评论