银企直连的电子回单接口中,部分银行使用sftp服务作为文件服务器,通常只保留N天的文件内容,企业未在规定的时间范围下载文件之后就不能下载了,那么有一个自动下载的脚本岂不美滋滋。

Linux安装SFTP服务

1、检查服务器是否安装SFTP服务

[root@localhost ~]# vsftpd -v		//方法一
[root@localhost ~]# rpm -q vsftpd //方法二
[root@localhost ~]# where is vsftpd

2、安装SFTP服务

[root@localhost ~]# yum -y install vsftpd

3、关闭firewall和SELinux

[root@localhost ~]# setenforce 0 	# FTP用户登录创建文件夹失败 不重启系统
[root@localhost ~]# vi /etc/selinux/config # 修改为SELINUX=disabled FTP用户登录创建文件夹失败 重启系统
[root@localhost ~]# systemctl stop firewalld.service # 停止 firewall
[root@localhost ~]# systemctl disable firewalld.service # 禁止 firewall 开机启动
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-service=ftp # 不关闭防火墙,需要防火墙添加FTP服务
[root@localhost ~]# firewall-cmd --reload

4、关闭匿名访问

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf #修改配置文档,关闭匿名访问:anonymous_enable=NO

/etc/vsftpd/ftpusers:禁止使用vsftpd的用户列表文件

/etc/vsftpd/user_list:禁止或允许使用vsftpd的用户列表文件。这个文件中指定的用户缺省情况(即在/etc/vsftpd/vsftpd.conf中设置userlist_deny=YES)下也不能访问FTP服务器,在设置了userlist_deny=NO时,仅允许user_list中指定的用户访问FTP服务器

sftp 免密登陆设置

1、生成公钥文件

[ftpuser@localhost ~]$ ssh-keygen -b 1024 -t rsa	===>ftp登陆用户环境,生成安全证书(执行命令直接回车,选择默认空密码证书即可)

2、将公钥文件上传至SFTP服务器并保存在用户的authorized_keys文件中

[ftpuser@localhost ~]$ scp /home/ftpuser/.ssh/id_rsa.pub SFTP服务器IP:路径/id_rsa.pub 	# 将客户端的公钥上传至SFTP服务器
[ftpuser@localhost ~]$ cat id_rsa.pub >> /home/ftpuser/.ssh/authorized_keys # 将客户端公钥保存在服务器SFTP用户的authorized_keys文件中

3、验证

[docker@localhost ~]$ sftp -oIdentityFile=/home/docker/ftp_rsa -oPort=22 ftpuser@192.168.137.130 # 连接时携带私钥即可

SFTP自动下载文件脚本

#!/bin/bash
data=$(date +%Y%m%d -d '-1 day')
cd /home/ICBC_HD
sftp -oIdentityFile=/home/docker/ftp_rsa -oPort=22 ftpuser@192.168.137.130 <<EOF // <<EOF 不可换行
cd data
mget *$data*
exit
EOF
  • -oIdentityFile:私钥文件
  • -oPort:端口
  • sftp -oIdentityFile= -oPort= 用户@ip

【Linux系列】-Linux中用shell脚本从SFTP服务器下载文件的更多相关文章

  1. linux的基本操作(shell 脚本的基础知识)

    shell 脚本的基础知识 日常的linux系统管理工作中必不可少的就是shell脚本,如果不会写shell脚本,那么你就不算一个合格的管理员.目前很多单位在招聘linux系统管理员时,shell脚本 ...

  2. 在Linux下如何用Shell脚本读写XML?现有一个config.xml(转)

    在Linux下如何用Shell脚本读写XML?现有一个config.xml <?xml version="1.0" encoding="UTF-8"?&g ...

  3. 《Linux命令行与shell脚本编程大全》 第十四章 学习笔记

    第十四章:呈现数据 理解输入与输出 标准文件描述符 文件描述符 缩写 描述 0 STDIN 标准输入 1 STDOUT 标准输出 2 STDERR 标准错误 1.STDIN 代表标准输入.对于终端界面 ...

  4. 自学Linux命令行与Shell脚本之路

    自学Linux命令行与Shell脚本之路[第一回]:初识Linux   1.1 自学Linux Shell1.1-Linux初识 1.2 自学Linux Shell1.2-Linux目录结构 1.3  ...

  5. Linux命令行与shell脚本编程大全.第3版(文字版) 超清文字-非扫描版 [免积分、免登录]

    此处免费下载,无需账号,无需登录,无需积分.收集自互联网,侵权通知删除. 点击下载:Linux命令行与shell脚本编程大全.第3版 (大小:约22M)

  6. 《Linux命令行与shell脚本编程大全 第3版》创建实用的脚本---11

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  7. 《Linux命令行与shell脚本编程大全 第3版》高级Shell脚本编程---47

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  8. 《Linux命令行与shell脚本编程大全 第3版》Shell脚本编程基础---57

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  9. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---57

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

随机推荐

  1. css盒子模型、垂直外边距合并

    css盒子模型由四部分组成:内容(content).填充(padding).边框(border).边距(margin),其中css样式中定义的width属性是定义内容区域的宽度,正常情况下,设置了内容 ...

  2. Model, HttpServletRequest, ModelMap区别

    看了spring mvc的底层会发现,model数据最终还是写到HttpServletRequest属性中,只是model的写法更体现了MVC思想减少各层间耦合 写法: 1.request.setAt ...

  3. OpenHarmony标准设备应用开发(二)——布局、动画与音乐

    (以下内容来自开发者分享,不代表 OpenHarmony 项目群工作委员会观点) 邢碌 上一章我们讲解了应用编译环境准备,设备编译环境准备,开发板烧录,将一个最简单的 OpenAtom OpenHar ...

  4. js逆向之AES加密

    故事背景: 在获取某网站接口数据时,发现其请求的 headers 中的参数 使用了 AES算法加密 ,并对其进行校验,在此简单记录下自己的踩坑历程. AES简介: 高级加密标准(AES,Advance ...

  5. 从源码学习UEToll

    从源码学习UEToll 捕获控件梳理 相对位置功能梳理 网格栅栏功能梳理 捕获代码分析 TransparentActivity public @interface Type { int TYPE_UN ...

  6. 记一次jenkins发送邮件报错 一直报错 Could not send email as a part of the post-build publishers问题

    写在前面 虽然Jenkins是开源.免费的,好处很多,但有些功能上的使用,我个人还是很不喜欢,感觉用起来特别麻烦.繁琐. 为什么? 就拿这个邮件配置来说吧,因重装系统,电脑需要配置很多东西,结果今天就 ...

  7. python练习-20200826

    1:L = [ ['Apple', 'Google', 'Microsoft'], ['Java', 'Python', 'Ruby', 'PHP'], ['Adam', 'Bart','Lisa'] ...

  8. 记一次 PHP 省市县三级联动 数据库取值

    /** * Notes:省市县三级联动 * Created by depressiom * Date: 2022年4月14日 */ public function getCityData(){ //获 ...

  9. 【计算机网络】Stanford CS144 Lab Assignments 学习笔记

    本文为我的斯坦福计算机网络课的编程实验(Lab Assignments)的学习总结.课程全称:CS 144: Introduction to Computer Networking. 事情发生于我读了 ...

  10. Centos 7防火墙策略配置指南

    Centos 7防火墙策略配置指南 -- 清听凌雪慕忆 @ 目录 1. 开启防火墙 1.1 user切换到root用户 1.2 查看防火墙服务状态 1.3 查看firewall的状态 1.4 启动/关 ...