Shell脚本实现SFTP传输文件,通过密码形式

这篇具有很好参考价值的文章主要介绍了Shell脚本实现SFTP传输文件,通过密码形式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


读取SFTP连接信息

cat 读取文件内容
grep server : 查找文件内容中包含server字符的,行内容
awk -F ‘=’ :实现字符串分割,分割字符’‘=’
${print $2}: 其中$2 表示切割后数组中第几值
base -d :解码base64字符串,转为可识别字符串文章来源地址https://www.toymoban.com/news/detail-518358.html

#sftp配置文件
sftp_conf_path=/etc/sftp.conf
#获取sftp的IP地址
sftp_ip=`cat ${sftp_conf_path} | grep server | awk -F  '='  '${print $2}'`
#获取sftp的端口
sftp_port=`cat ${sftp_conf_path} | grep port | awk -F  '='  '${print $2}'`
#获取sftp的用户名
sftp_user=`cat ${sftp_conf_path} | grep server | awk -F  '='  '${print $2}'`
#获取sftp的密码
sftp_password=`cat ${sftp_conf_path} | grep server | awk -F  '='  '${print $2}' | base64 -d`

#实现SFTP传输
/usr/bin/expect << EOP
#每次执行sftp命令超时时间,如果设置过小会导致大文件传输不完整,  单位:秒
set timeout  10000

#执行连接SFTP
spawn sftp -oPort=${sftp_port} ${sftp_user}@${sftp_ip}
#反馈字符串包含 passowrd,则发送密码
expect {
 "*password:" { send "${sftp_password}\r" }
}
#SFTP cd到本地文件目录
expect "sftp>"
send "lcd ${out_path}\r"

#SFTP cd到sftp服务器下
expect "sftp>"
send "cd ${sftp_path}\r"

#SFTP 将lcd目录下文件,传输到cd目录下
expect "sftp>"
send "put ${gz_file}\r"

#关闭SFTP连接
expect "sftp>"
send "bye \r"
EOF

if [ $? -eq 0 ]; then
  echo "文件传输成功”
else
  echo "文件传输失败!"
fi
#退出sh脚本
exit 0

到了这里,关于Shell脚本实现SFTP传输文件,通过密码形式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux】通过 Shell 脚本修改用户密码

       Linux 中要修改一个用户的密码通常是使用 passwd 命令来完成,命令格式如下。 [注]:若其后不加任何用户名则表示修改当前用户的密码。 使用示例: 这里笔者将 im 用户的密码修改为 im123 。 这里可以看到在使用 passwd 命令修改用户密码的时候需要手动输入两次进行匹配确

    2024年02月08日
    浏览(50)
  • shell批量执行命令与文件传输脚本

    对未进行主机信任操作的服务器进行批量操作 由于ssh只能在交互模式中输入服务器密码进行登录登操作,不便于进行大批量服务器进行巡检或日志采集。sshpass恰好又解决了这个问题,使用 ssh -p passwd 可以实现命令行输入密码操作,便于进行规模巡检 首先需要在脚本执行机器

    2024年02月08日
    浏览(44)
  • openAI 通过php方式 发送请求,流数据形式传输,php 实现chatGPT功能

    此处使用的框架是 symfony ,可自行根据自己框架开发,大同小异,框架无所谓,主要是功能! 先上代码 :

    2024年01月19日
    浏览(51)
  • 如何利用SFTP如何实现更安全的远程文件传输 ——【内网穿透】

    🎬 鸽芷咕 :个人主页  🔥 个人专栏 : 《高效编程技巧》《cpolar》 ⛺️生活的理想,就是为了理想的生活! SFTP(SSH File Transfer Protocol)是一种基于SSH(Secure Shell)安全协议的文件传输协议。与FTP协议相比,SFTP使用了加密和身份验证机制来保护数据的安全性和完整性,可以在

    2024年02月11日
    浏览(37)
  • 如何利用SFTP协议远程实现更安全的文件传输 ——【内网穿透】

    🎬 鸽芷咕 :个人主页  🔥 个人专栏 : 《高效编程技巧》《cpolar》 ⛺️生活的理想,就是为了理想的生活! SFTP(SSH File Transfer Protocol)是一种基于SSH(Secure Shell)安全协议的文件传输协议。与FTP协议相比,SFTP使用了加密和身份验证机制来保护数据的安全性和完整性,可以在

    2024年02月11日
    浏览(44)
  • 内网穿透的应用-如何在Termux 中使用SFTP 文件传输并结合内网穿透实现远程传输

    SFTP(SSH File Transfer Protocol)是一种基于SSH(Secure Shell)安全协议的文件传输协议。与FTP协议相比,SFTP使用了加密和身份验证机制来保护数据的安全性和完整性,可以在不安全的网络中传输文件,因此更加安全可靠,。 下面介绍如何在termux 中使用SFTP 文件传输并结合[cpolar内网映

    2024年02月08日
    浏览(48)
  • [linux] SFTP文件传输基本命令

    SFTP文件传输基本命令 - 木洒 - 博客园 (cnblogs.com) 1.sftp建立连接 [root@localhost ~]# sftp username@remote_ip(or remote host name),      # 连接root用户, 则可省略\\\"root@\\\".  [root@localhost ~]# sftp -o port=1000 username@remote_ip [root@localhost ~]# sftp root@68.56.32.159 2.sftp - 上传文件:如果上传/下载的是文件夹, 在

    2024年01月25日
    浏览(33)
  • 使用OpenWRT配置SFTP远程文件传输,安全高效的文件传输方法

    本次教程我们将在OpenWRT上安装SFTP服务,并结合cpolar内网穿透,创建安全隧道映射22端口,实现在公网环境下远程OpenWRT SFTP,安全地传输文件,比如备份文件、配置文件等。 SFTP是一种安全文件传输协议,它基于SSH协议,提供了加密、认证和数据完整性保护的安全文件传输服务

    2024年02月09日
    浏览(52)
  • 在Java中使用SFTP传输文件

    在本教程中,我们将讨论如何在Java中使用SFTP从远程服务器上传和下载文件。 我们将使用三个不同的库: JSch 、 SSHJ 和 Apache Commons VFS 来实现。 首先,让我们看看如何使用JSch库从远程服务器上传和下载文件。 2.1. Maven 配置 我们需要将 jsch 依赖添加到我们的 pom.xml 中: jsch 的最新

    2024年02月05日
    浏览(30)
  • Linux中使用SFTP命令进行安全文件传输

    SFTP(Secure File Transfer Protocol)是一种在网络上安全传输文件的协议。它通过加密和身份验证来保护文件的传输过程,是一种比较常用的文件传输方式之一。在Linux系统中,我们可以使用SFTP命令行工具来进行文件的上传、下载和管理操作。本文将详细介绍如何在Linux中使用SFTP命

    2024年02月03日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包