跳至主要內容

sftp文件传输以及用户配置

Mr.Lexon大约 2 分钟environment

sftp文件传输以及用户配置

#ssh 这里默认安装完ssh,ssh安装见[[ssh安装以及配置]] 首先创建传输文件用户

useradd web #这个命令是直接创建用户
adduser web #这个命令创建用户时需要创建用户密码,并同时创建用户组

以上命令二选一,若选择第一个,则要另外对用户组进行操作,其次,创建sftp进入目录的上级目录(假设进入目录为:/web/sftp)

mkdir /web

注意,一定要确认文件夹是否是root组troot用户权限和访问文件夹是否是创建用户的用户组和用户权限,如果不是请执行以下命令

chown root:root /web
chown web:web /web/sftp

如果存在上级目录,则要对上级目录也要将其改成root组troot用户权限。 接着检测权限是否小于等于755,若不是,执行以下命令(上级目录也要同步)

chmod 755 /web

更改完之后,进入ssh配置:

vim /etc/ssh/sshd_config

在文件末尾写入以下文本:

Match User web #登录用户名
ChrootDirectory /web #访问目录的上级目录
X11Forwarding no #不允许 X11 Server 的 SSH 客户端连接
AllowTcpForwarding no #不允许TCP远程转发
ForceCommand internal-sftp #仅允许sftp连接

然后重启ssh服务,服务运行成功即为成功。 文件传输可使用winscp

补充: 在使用adduser创建用户时,使用以下命令更改用户组是无效的:

usermod -G otherGroup web

这样的操作只会在原基础上添加用户组,并不会删除原本的用户组,而且也不能访问相同组的文件夹在sftp里面。

其他sshd_config配置详情可见ssh配置详解open in new window

上次编辑于:
贡献者: Lexon