sftp服务器搭建(ubuntu)

sftp服务器搭建(ubuntu),第1张

教程: 原文链接

如果是采用vm虚拟机安装服务,建议安装之前做一个快照:虚拟机---快照---拍摄快照。

第二行命令:将alice用户从所有其他用户组移除,并加入到sftp_users组,并且关闭shell访问

6.修改配置文件

内容如下:

7.重启系统

8.工具验证winscp

ailce用户只对share目录权限

网上大部分文章都是人云亦云,能把为什么这么设置讲得清楚的,可以参考这两篇

https://blog.csdn.net/qq_15000459/article/details/108108625

https://www.maixj.net/ict/ssh-sftp-21993

我的需求是可以设置多个账号,可以共享访问目录,可以看到某个文件是谁创建的

首先要创建用户组

然后在这个组内添加用户

-g用于指定用户组,-s用于指定login shell,用/sbin/nologin则不允许该用户ssh登录。-M表示不创建该用户的home目录

接着给这些用户生成密码

接着,准备ftp的根目录。我用的是/home/sftp。按照规则,这个根目录/home/sftp拥有者只能是root,而且权限最高位755。如果这个目录是用root用户创建的,则默认就是满足的。为了给sftp用户传文件,只能在/home/sftp下面再建一层子目录,把这层子目录的拥有者改为sftp组的某个用户,并把权限改为775,让组内其他成员也可以读写

再然后,就是修改sshd的配置了。vi /etc/ssh/sshd_config,注释掉

Subsystem sftp/usr/libexec/openssh/sftp-server

一行,然后加上

重启sshd

可以按照如下方式进行设置:

1、创建sftp组,groupadd sftp,创建完成之后使用cat /etc/group命令组的信息。

2、创建一个sftp用户mysftp并加入到创建的sftp组中,同时修改mysftp用户的密码,useradd -g sftp -s /bin/false mysftp,passwd mysftp 。

3、新建/data/sftp/mysftp目录,并将它指定为mysftp组用户的home目录,mkdir -p /data/sftp/mysftp,usermod -d /data/sftp/mysftp mysftp。

4、编辑配置文件/etc/ssh/sshd_config,vi /etc/ssh/sshd_config,将如下这行用#符号注释掉。

5、设置Chroot目录权限,chown root:sftp /data/sftp/mysftp,chmod 755 /data/sftp/mys。

6、新建一个目录供stp用户mysftp上传文件,这个目录所有者为mysftp所有组为sftp,所有者有写入权限所有组无写入权限,mkdir /data/sftp/mysftp/upload,chown mysftp:sftp /data/sftp/mysftp/upload,chmod 755 /data/sftp/mysftp/upload。 

7、关闭selinux并重启sshd服务,然后测试。

8、在其他服务器上进行验证,sftp 用户名@ip地址。

拓展资料

1、sftp是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的网络的加密方法。sftp 与 ftp 有着几乎一样的语法和功能。SFTP 为 SSH的其中一部分,是一种传输档案至 Blogger 伺服器的安全方式。

2、其实在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol)的安全文件信息传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接和答复操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/238025.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-11
下一篇2023-04-11

发表评论

登录后才能评论

评论列表(0条)

    保存