使用 lftp 工具
上传脚本 uploadsftp.sh:
其中: RSA_FILE 为证书路径
#!/bin/sh
HOST=*.*.*.*
USER=****
PASS=****
PORT=****
RSA_FILE=*****
if [ ! -f "${1}" ]; then
printf "[ ${1} ] 文件 不存在,退出上传 !!\n"
exit 0;
fi
lftp -u ${USER},${PASS} -p ${PORT} sftp://${HOST} -e 'set sftp:connect-program "ssh -a -x -i ${RSA_FILE}";' <<EOF
cd /upload/
put ${1}
bye
EOF
使用脚本
sh uploadsftp.sh filename