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
!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律