centos6和ubuntu14搭建sftp
参考 http://blog.csdn.net/xinxin19881112/article/details/46831311
一. 在Centos 6.6环境使用系统自带的internal-sftp搭建SFTP服务器。
打开命令终端窗口,按以下步骤操作。
0、查看openssh的版本
ssh -V #使用ssh -V 命令来查看openssh的版本,版本必须大于4.8p1,低于的这个版本需要升级
1、创建sftp组
groupadd sftp
2、创建一个sftp用户,用户名为mysftp,密码为mysftp
useradd -g sftp -s /bin/false mysftp //用户名
passwd mysftp //密码,修改用户密码和修改Linux用户密码是一样的。
3、sftp组的用户的home目录统一指定到/data/sftp下,按用户名区分,这里先新建一个mysftp目录,然后指定mysftp的home为/data/sftp/mysftp
mkdir -p /data/sftp/mysftp usermod -d /data/sftp/mysftp mysftp #这一步不做也可以,ssh配置文件中设置根目录后会覆盖这里的设置
4、配置sshd_config
vim /etc/ssh/sshd_config 找到并注释掉下面一行,大致在文件末尾处。
# Subsystem sftp /usr/libexec/openssh/sftp-server 在文件最后面添加如下几行内容,然后保存。 Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory /data/sftp/%u # %u代表用户名,等价/data/sftp/mysftp
ForceCommand internal-sftp #指定sftp命令
AllowTcpForwarding no #下面两行,如果不希望该用户能使用端口转发的话就加上,否则删掉
X11Forwarding no
5、设定Chroot目录权限
chown root:sftp /data/sftp/mysftp chmod /data/sftp/mysftp
6、建立SFTP用户登入后可写入的目录
照上面设置后,在重启sshd服务后,用户mysftp已经可以登录。
但使用chroot指定根目录后,根应该是无法上传文件的,但是可以下载。
所以要新建一个目录供mysftp上传文件,这个目录所有者为mysftp,所有组为sftp,所有者有写入权限,而所有组无写入权限。命令如下:
mkdir /data/sftp/mysftp/upload chown mysftp:sftp /data/sftp/mysftp/upload chmod /data/sftp/mysftp/upload
7、修改/etc/selinux/config
vim /etc/selinux/config 将文件中的SELINUX=enforcing 修改为 SELINUX=disabled ,然后保存。 输入命令setenforce #即时生效
8、重启sshd服务
service sshd restart
9、验证sftp环境
用mysftp用户名登录,yes确定,回车输入密码。
sftp mysftp@127.0.0.1
显示 sftp> 则sftp搭建成功。
10、使用FileZilla FTP Client连接SFTP服务器
输入主机IP地址、用户名、密码、端口连接SFTP服务器,端口默认为22。
FileZilla FTP Client下载
http://download.csdn.net/detail/xinxin19881112/8887755
此方法也可用在ubuntu系统上,在下面的ubuntu中介绍了另外一种方法。
二. 在ubuntu上搭建sftp
需求说明:
1,如果还没有安装OpenSSH服务器,先安装它
sudo apt-get install openssh-server
2. 为SFTP访问创建用户组,便于管理权限
sudo addgroup sftp-users
3,创建SFTP用户,并配置相应权限
sudo adduser alice
sudo usermod -G sftp-users -s /bin/false alice #将alice从所有其他用户组中移除并加入到sftp-users组,并且关闭其Shell访问
4,创建SSH用户组,并把管理员加入到该组(注意usermod中的-a参数的意思是不从其他用户组用移除)
sudo addgroup ssh-users
sudo usermod -a -G ssh-users admin
5,准备“监狱”的根目录及共享目录
sudo mkdir /home/sftp_root #这里用sudo,相当于 /home/sftp_root所属为root:root,权限默认为755
sudo mkdir /home/sftp_root/shared
sudo chown admin:sftp-users /home/sftp_root/shared
sudo chmod /home/sftp_root/shared
注意:第4,5步的admin用户可以改为任意其他用户,包括root用户
6,修改SSH配置文件
sudo vim /etc/ssh/sshd_config
在sshd_config文件的最后,添加以下内容:
AllowGroups ssh-users sftp-users
Match Group sftp-users
ChrootDirectory /home/sftp_root
AllowTcpForwarding no
X11Forwarding no
ForceCommand internal-sftp
7,重启系统以便使新配置生效
sudo reboot now
注意:
1)组sftp-users是允许使用sftp的用户组; ssh-users是允许进行ssh连接的用户组,
2)因为我们设置了usermod -a -G ssh-users admin,因此现在只能admin用户远程ssh连接,
3)如果想让之前的普通用户远程连接ssh,比如axinfu用户,需要把它加入ssh-users组中,usermod -aG ssh-users axinfu
4)从一个组中删除成员,命令是gpasswd wheel -d test,表示从wheel组成删除成员test
centos6和ubuntu14搭建sftp的更多相关文章
- 搭建sftp服务+nginx代理
在公司,经常会用到sftp服务,比如两个公司对接生产项目,其中一方,要在sftp上上传pdf文件,另一方公司要在sftp服务器上用nginx代理直接下载pdf文件.下面就说说我在实际中应用到的sftp ...
- Linux Centos 6.6搭建SFTP服务器
Linux Centos 6.6搭建SFTP服务器 在Centos 6.6环境使用系统自带的internal-sftp搭建SFTP服务器. 打开命令终端窗口,按以下步骤操作. 0.查看openssh的 ...
- Linux - CentOS6.5服务器搭建与初始化配置详解(下)
传送带:Linux - CentOS6.5服务器搭建与初始化配置详解(上) 继续接着上面的安装,安装完后会出现下面界面 点击reboot重启 重启后可以看到下面的tty终端界面 因为这就是最小化安装 ...
- CENTOS6.6上搭建单实例ORACLE12C
本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn 摘要: 自己在centos6.6上搭建的单实例oracle12c 由 ...
- freeSSHD在windows环境下搭建SFTP服务器
freeSSHD在windows环境下搭建SFTP服务器 0 建议现在windows环境下安装cygwin,否则在windows环境下cmd模式使用不了sftp去连接,可以利用win scp去测试连接 ...
- CentOS7.5 下搭建SFTP
CentOS7.5 下搭建SFTP Linux 创建用户组 groupadd sftp 创建用户test useradd -G sftp -s /sbin/nologin test -s 禁止用户ss ...
- Linux学习之CentOS(一)--CentOS6.4环境搭建
Linux学习之CentOS(一)--CentOS6.4环境搭建http://www.cnblogs.com/xiaoluo501395377/archive/2013/03/31/CentOs.ht ...
- Centos6.8下搭建SVN服务器
1.Centos6.8下搭建SVN服务器 Subversion是一个自由,开源的版本控制系统.Subversion将文件存放在中心版本库里.这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一 ...
- 搭建SFTP服务器,允许一个或多个用户拥有一个或多个目录的rwx权限
1.引言 sftp可以为传输文件提供一种安全的网络的加密方法.sftp 与 ftp 有着几乎一样的语法和功能.SFTP 为 SSH的其中一部分,是一种传输档案至 Blogger 伺服器的安全方式.其实 ...
随机推荐
- 【ZOJ 3228】Searching the String 【AC自动机】
题意 给出n个模式串和一个文本串,输出各个模式串在文本串中出现的次数.模式串有两种类型,0类型代表可以有重叠,1类型代表不能有重叠.模式串可能出现重复. 分析 算是AC自动机的模板题? 因为模式串可以 ...
- 34. Search for a Range (Array; Divide-and-Conquer)
Given a sorted array of integers, find the starting and ending position of a given target value. You ...
- 61. Rotate List(List)
Given a list, rotate the list to the right by k places, where k is non-negative. For example: Given ...
- 导入txt文件到SQL SERVER 2008
最近在学习数据库,想要试处理大量数据.大量的数据手动输入是不可能的了,所以需要导入.本人上网看了不少的教程,然后下载了txt格式的一万条彩票开奖记录数据.但是把这些数据导入到SQL Server 20 ...
- eclipse在线安装mybatis generator插件
转自:http://blog.csdn.net/u012283609/article/details/67640433 安装步骤: 打开eclipse菜单栏help–>Eclipse Marke ...
- SpringIOC的理解
http://www.cnblogs.com/ITtangtang/p/3978349.html---IOC http://blog.csdn.net/fighterandknight/article ...
- CentOS7安装redis,并设置开机自启动
卸载redis 停止并删除所有已的rendis目录即可. rm -rf /home/wls/soft/redis-4.0.2 rm -rf /etc/redis* rm -rf /var/log/re ...
- Mysql建表的时候创建索引
创建表时可以直接创建索引,这种方式最简单.方便.其基本形式如下: CREATE TABLE 表名( 属性名 数据类型[完整性约束条件], 属性名 数据类型[完整性约束条件], ...... 属性名 数 ...
- input修改placeholder中颜色和字体大小
input::-webkit-input-placeholder { /* placeholder颜色 */ color: #aab2bd; /* placeholder字体大小 */ font-si ...
- 实践作业4:Web测试----细化分工DAY1.
会议时间:2017年12月23日 会议地点:东九教学楼教师休息室 主持人:吴辉 参会人员:吴辉.刘思佳.郜昌磊.王俊杰.吴慧杰 记录人:刘思佳 会议议题:本次作业的分工以及初期安排 工具选择 软件测试 ...