sftp文件传输以及用户配置
大约 2 分钟
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配置详解