Suse搭建仅限特定用户访问特定路径下的sftp服务

一、sftp服务端上的配置

1.创建用户(以test为例)
useradd -s /sbin/nologin -d /home/test test
修改密码
passwd test

2.创建相关目录
mkdir /home/test
chmod 755 /home/test(必须为755)
chown root:root test(目录属主必须是root)

mkdir /home/test/send
mkdir /home/test/recv
目前目录的属主为root,权限为777
chmod 750 /home/test/send
chmod 750 /home/test/recv
chown test /home/test/send
chown test /home/test/recv

3.修改配置文件
cd /etc/ssh
vi sshd_config
注释下列内容:
#Subsystem sftp /usr/lib64/ssh/sftp-server
在最后添加下列内容
#配置外部子系统
Subsystem sftp internal-sftp
#引入一个条件块。块的结尾标志是文件结尾
Match User test
ChrootDirectory /home/test(注意必须在上一层,否则会报错connection reset by peer)
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no

4.重启服务,使配置文件生效
/etc/init.d/sshd stop
/etc/init.d/sshd start
systemctl restart sshd.service(Suse12 下命令)

sftp test@localhost(测试验证下用户)

5.生成密钥
ssh-keygen -t rsa(生成公私钥)
在/root/.ssh/下生成两个文件: id_rsa; id_rsa.pub
id_rsa为私钥文件,id_rsa.pub为公钥文件。

在/home/test执行
mkdir .ssh
chown test .ssh
chmod 700 .ssh
cd .ssh
cp /root/.ssh/id_rsa.pub ./authorized_keys
chmod 644 authorized_keys

重新启动ssh
service sshd restart(Suse11)
systemctl restart sshd.service(Suse12下命令)

二、客户端配置

把id_rsa私钥文件放到客户端服务器/home/test/下修改属性为600

将服务端生成的id_rsa文件拷贝至客户端机器,使用以下命令即可登录
sftp -oIdentityFile=/home/test/id_rsa test@服务端ip


END

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞奔的花露水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值