Centos或者RedHat创建SFTP上传账号
本文最后更新于 1211 天前,其中的信息可能已经有所发展或是发生改变。

Centos或者RedHat创建SFTP上传账号

1.创建sftp用户组

groupadd sftp

2.创建用户并限制用户登录SSH

useradd -g sftp -s /bin/false hnsftp

3.设置用户密码

passwd hnsftp

4.创建用户上传目录,并且修改成用户的home目录,修改目录权限

sftp上传文件夹

mkdir -p /u03/sftp_file

创建hnsftp用户独立的文件夹

mkdir /u03/sftp_file/hnsftp

修改用户home 目录

usermod -d /u03/sftp_file/hnsftp hnsftp

修改用户home目录权限

chown -R hnsftp:sftp /u03/sftp_file/hnsftp

5.设置 sshd_config

vi /etc/ssh/sshd_config

5.1 找到Subsystem sftp /user/libexec/openssh/sftp-server 前面加#注释掉
#注释掉这行
#Subsystem      sftp    /usr/libexec/openssh/sftp-server
5.2 添加在配置文件末尾
#添加在配置文件末尾
Subsystem sftp internal-sftp #指定使用sftp服务使用系统自带的internal-sftp
Match user hnsftp #匹配用户,如果要匹配多个组,多个组之间用逗号分割
ForceCommand internal-sftp #指定sftp命令
ChrootDirectory /u03/sftp_file #用chroot将指定用户的根目录,chroot的含义
#下面这两行,如果不希望该用户能使用端口转发的话就加上,否则删掉
X11Forwarding no                
AllowTcpForwarding no

6.重启sshd服务

service sshd restart

7.遇到问题

1.Write failed: Broken pipe Couldn’t read packet: Connection reset by peer 的错误(sftp连不是上或者马上断掉的问题)

解决:

这个问题的原因是ChrootDirectory的权限问题,你设定的目录必须是root用户所有,否则就会出现问题。所以请确保sftp用户根目录的所有人是root, 权限是 750 或者 755

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇