sftp 服务器搭建


1. 创建sftp组

[root@c7-6 ~]#groupadd sftp
[root@c7-6 ~]#cat /etc/group | grep sftp
sftp:x:1001:

2. 创建一个sftp用户mysftp并加入到创建的sftp组中,同时修改mysftp用户的密码

[root@c7-6 ~]#useradd -g sftp -s /bin/false mysftp
[root@c7-6 ~]#passwd mysftp
更改用户 mysftp 的密码 。
新的 密码:Zc120604@&
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

3. 新建/data/sftp/mysftp目录,并将它指定为mysftp组用户的home目录

[root@c7-6 ~]#mkdir -p /data/sftp/mysftp
[root@c7-6 ~]#usermod -d /data/sftp/mysftp mysftp

4. 编辑配置文件/etc/ssh/sshd_config

vi /etc/ssh/sshd_config

将如下这行用 # 符号注释掉

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

在文件最后面添加如下几行内容然后保存

Subsystem       sftp    internal-sftp    
Match Group sftp    
ChrootDirectory /data/sftp/%u    
ForceCommand    internal-sftp    
AllowTcpForwarding no    
X11Forwarding no  

5. 设置Chroot目录权限

[root@c7-6 ~]#chown root:sftp /data/sftp/mysftp
[root@c7-6 ~]#chmod 755 /data/sftp/mysftp

6. 新建一个目录供sftp用户mysftp上传文件,这个目录所有者为mysftp所有组为sftp,所有者有写入权限所有组无写入权限

[root@c7-6 ~]#mkdir /data/sftp/mysftp/upload
[root@c7-6 ~]#chown mysftp:sftp /data/sftp/mysftp/upload
[root@c7-6 ~]#chmod 755 /data/sftp/mysftp/upload

7. 重启sshd

[root@c7-6 ~]#systemctl restart sshd
[root@c7-6 ~]#systemctl status sshd
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: active (running) since 日 2022-10-23 11:21:01 CST; 6s ago
     Docs: man:sshd(8)
           man:sshd_config(5)
 Main PID: 2675 (sshd)
   CGroup: /system.slice/sshd.service
           └─2675 /usr/sbin/sshd -D

10月 23 11:21:01 c7-6 systemd[1]: Starting OpenSSH server daemon...
10月 23 11:21:01 c7-6 sshd[2675]: Server listening on 0.0.0.0 port 22.
10月 23 11:21:01 c7-6 sshd[2675]: Server listening on :: port 22.
10月 23 11:21:01 c7-6 systemd[1]: Started OpenSSH server daemon.

8. 其他机器登录测试

[11:23:05 root@c7-5 ~]#sftp mysftp@192.168.10.116
mysftp@192.168.10.116's password: 
Connected to 192.168.10.116.
sftp> dir
upload  
sftp> 

9. 基础命令

put local-file [remote-file]  #上传一个本地文件到远程目录
put -r local-dir [remote-file]  #上传一个本地目录到远程目录
get file  # 下载文件
get -r remote-dir [local-file]  #下载远程目录到本地目录

https://blog.csdn.net/chinabestchina/article/details/121412249


YUM 仓库的创建与 NFS 共享存储


posted @ 2022-10-14 16:09  公博义  阅读(270)  评论(0编辑  收藏  举报