Linux实现指定用户sftp传输,静止ssh登录

1、环境

名称 ip
server 192.168.1.1
client 192.168.1.2

2、服务器创建repl用户

useradd -m -d /home/repl -s /usr/sbin/nologin repl

3、修改密码

passwd repl

4、ssh配置

# 该行不注释
Subsystem       sftp    /usr/libexec/openssh/sftp-server
# 增加一下行
Match User repl
    AllowTcpForwarding no
    PasswordAuthentication yes
    X11Forwarding no
    ForceCommand internal-sftp
    ChrootDirectory /data/backup

5、重启ssh服务

systemctl restart sshd

6、测试从client端ssh登录server端

ssh repl@192.168.1.1
# 提示报错
This service allows sftp connections only.

7、测试从client端sftp登录server端

sftp repl@192.168.1.1

8、脚本实现自动备份

#!/bin/bash
DATE=`date +%F`
home="/data/config/"

sshpass -p 'Repl@123#' sftp -oBatchMode=no -oport=22 repl@192.168.1.1 << !
lcd $home
mkdir date
cd date
put $DATE.tar.gz
bye
!
posted @   金笛秀才  阅读(139)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示