CentOS安装SFTP

前端之家收集整理的这篇文章主要介绍了CentOS安装SFTP前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

服务器以centOS为例.

首先为什么要搭建sftp? 答案: 允许某些用户上传及下载文件,但是这些用户只能使用sftp传送文件,不能使用SSH终端访问服务器,而且sftp不能访问系统文件

ssh -V 查看open ssh的版本
如果没有请在服务器上安装openSSH
sudo yum install openssh-server

创建sftp组

groupadd sftp-users

添加一个用户

sudo adduser chcuser
//删除一个用户 测试
sudo userdel chcuser
//关闭shell访问
useradd -g sftp-users -s /bin/false chcuser

创建ssh用户组,把管理员加到该组

sudo usermod -a -G ssh-users vagrant

准备sftp的根目录及共享目录。这里解释一下,sftp的根目录必须满足以下要求:所有者为root,其他任何用户都不能拥有写入权限。因此,为了让SFTP用户能够上传文件,还必须在“监狱”根目录下再创建一个普通用户能够写入的共享文件目录。为了便于管理员通过SFTP管理上传文件,我把这个共享文件目录配置为:由root所有,允许sftp-users读写。这样,管理员和SFTP用户组成员就都能读写这个目录了。(注意,下面提到的Chroot对权限要求非常严格,此处的 /home/sftp_root权限必须为755)

sudo mkdir /home/sftp_root
sudo mkdir /home/sftp_root/shared
sudo chown root:sftp-users /home/sftp_root/shared
sudo chmod 770 /home/sftp_root/shared

修改SSH配置文件

sudo VIM /etc/ssh/sshd_config

在sshd_config文件的最后,添加以下内容

Match Group sftp-users
ChrootDirectory /home/sftp_root
AllowTcpForwarding no
X11Forwarding no
ForceCommand internal-sftp

这些内容的意思是: 针对sftp-users用户,额外增加一些设置:将/home/sftp_root设置为该组用户的系统根目录(因此它们将不能访问该目录之外的其他系统文件);禁止TCP ForwardingX11 Forwarding强制该组用户仅仅使用SFTP。

如果需要进一步了解细节,可以使用man sshd_config命令。这样设置之后,SSH用户组可以访问SSH,并且不受其他限制;而SFTP用户组仅能使用SFTP进行。 END

猜你在找的CentOS相关文章