sftp搭建部署

为了不影响原来的sshd服务,因此我们独立出来一个sftpd服务。原来的sshd服务该怎么用还是怎么用(比如堡垒机远程或者上传下载文件) 我们新增的sftpd服务,端口号区别于原来的sshd

请一定遵循下面的必是

ln -sf /usr/sbin/sshd /usr/sbin/sftpd
cp /usr/lib/systemd/system/sshd.service /etc/systemd/system/sftpd.service
cp /etc/pam.d/sshd /etc/pam.d/sftpd
cp /etc/ssh/sshd_config /etc/ssh/sftpd_config
ln -sf /usr/sbin/service /usr/sbin/rcsftpd
cp /etc/sysconfig/sshd /etc/sysconfig/sftp
vim /etc/systemd/system/sftpd.service

# 注意,这里如果有PIDFile指向sshd.pid,请将PIDFile配置删除。
Description=sftpd server daemon
Type=notify
EnvironmentFile=/etc/sysconfig/sftp
ExecStart=/usr/sbin/sftpd -f /etc/ssh/sftpd_config
vim /etc/ssh/sftpd_config
Port 22 改为 Port 10022。
PermitRootLogin yes 改为 PermitRootLogin no。
PidFile /var/run/sftpd.pid。
Subsystem sftp /usr/libexec/openssh/sftp-server前加#使本行变为注释。
另起一行添加Subsystem sftp internal-sftp。


systemctl daemon-reload
systemctl start sftpd

ss -tunlp | grep 10022 
systemctl status sftpd


useradd  user1 -M  -d /sftp/user1  #不在home下创建家目录 但是指定他家目录是哪里
passwd user1

sftp根目录    
user1 用户家目录用于固定用户不能切换路径 权限必须如下
uesr1 用于上传文件

mkdir /sftp/user1/user1 -p
chmod 755 /sftp/    #此处必是755 也必是 root:root
chmod 755 /sftp/user1  #此处必是755 也必是 root:user1
chmod 777 /sftp/user1  #此处是777 也可以是 user1:user1

mkdir /sftp/user2/user2 -p
chmod 755 /sftp/    #此处必是755 也必是 root:root
chmod 755 /sftp/user2  #此处必是755 也必是 root:user2
chmod 777 /sftp/user2  #此处是777 也可以是 user2:user2
Match User user1
    ChrootDirectory /sftp/user1/    #限制用户家目录
    X11Forwarding no
    AllowTcpForwarding no
    AllowAgentForwarding no
    ForceCommand internal-sftp
Match User user2  # 如果有多个用户,可以useradd后,再添加下面的配置
    ChrootDirectory /sftp/user2/
    X11Forwarding no
    AllowTcpForwarding no
    AllowAgentForwarding no
    ForceCommand internal-sftp
sftp -P 10022  yonghu@mima

pwd  显示为 /
ls 显示为 user1 #需要cd user1 后方可上传
cd /home 返回无法切换即可
只要不是 网咯问题就都是权限问题 

请切记上面的必是 就完了
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker可以用来搭建SFTP(Secure File Transfer Protocol)服务器,这样你可以通过安全的文件传输协议在容器内部存储和访问文件。以下是使用Docker搭建SFTP服务器的一般步骤: 1. **选择SFTP服务器软件**: 使用一个支持SFTP的Docker镜像,如`proftpd/proftpd`,它是一个开源的FTP服务器,也可以用于SFTP。 2. **拉取镜像**: 在Docker命令行中运行: ``` docker pull proftpd/proftpd ``` 3. **运行容器**: 创建一个Dockerfile,指定proftpd镜像,并配置必要的环境变量和端口映射,例如: ```Dockerfile FROM proftpd/proftpd:latest RUN apt-get update && apt-get install -y sasl2-bin COPY sftp.conf /etc/proftpd/conf.d/ CMD ["proftpd", "-f", "/etc/proftpd/proftpd.conf"] ``` 这里假设你已经有一个`sftp.conf`配置文件,其中包含了SFTP服务器的设置。 4. **启动和运行容器**: ``` docker build -t sftp-server . docker run -d --name sftp-server -p 2222:21 -v /path/to/your/data:/data sftp-server ``` `-d`表示后台运行,`-p`将主机的2222端口映射到容器的21端口(FTP默认端口),`-v`将宿主机的目录挂载到容器内的/data路径,这样用户就可以访问这个目录。 5. **配置SFTP用户**: 需要在`sftp.conf`或外部文件中创建用户并分配权限。 6. **验证连接**: 使用SSH客户端或者SFTP客户端(如FileZilla)连接到`localhost:2222`或你的服务器IP地址,使用在Docker运行时创建的用户名和密码尝试登录。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值