sftp使用shell实现自动上传文件

服务器技术 1 年前 回复

, ,

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

# 修改 sftp 模块为如下
# subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp -l INFO -f AUTH
Match Group sftp
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp -l INFO -f AUTH

2.设置用户和组

groupadd sftp # 添加一个组
useradd -g sftp -s /sbin/nologin sftpuser # 添加一个用户
chown -R sftpuser:sftp /home/sftpuser/ # 设置用户目录的所有者

3.生成一对公私钥并存放到 sftpuser 的目录

mkdir -p /home/sftpuser/.ssh
touch /home/sftpuser/.ssh/authorized_keys

4.远端上传的脚本

PUTFILE=./${foldername}/${file}
# -l 参数指定限速 -i 参数指定密钥 权限为600
sftp -P 22 -l 5000 -i /path/to/your/key/sftpuser sftpuser@your.domain.com<<EOF
cd mysqlbk/files
mkdir $foldername
cd $foldername
put $PUTFILE
exit
EOF
echo "commit to sftp successfully"

原文转自https://blog.zhou.icu/archives/sftp使用shell脚本实现自动上传文件

支付宝打赏微信打赏

如果此文对你有帮助,欢迎打赏作者。

发表评论

欢迎回来 (打开)

(必填)