shell expect sftp

shell脚本交互式sftp密码登录、上传文档

cat upload_file.sh

#!/bin/sh

# 命令行第一个入参
date=$1

user="user"
passwd="password" 
host="host"
port=22
remote_dir="remote_dir_path"
local_file="local_file_path"

# sh脚本插入expect语法
expect <<!
# spawn启动交互式
spawn sftp -P ${port} ${user}@${host}

expect "*password: \n"
send "${passwd}\n"

expect "sftp>"
# 进入本地待上传文件所在路径
send "put ${local_file} ${remote_dir}"

expect "sftp>"
send "exit\n"
# 最后用!结束expect语法
!



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用FREESSHD配置SFTP服务器说明 背景:最近在公司做的项目需要传输文件,要求是文件加密传输,这里需要用加密 证书来认证后才能访问服务器,因为使用服务器是Windows 2008 R2 ,所以折腾后选择FREESSHD作为SFTP服务端。 首先去下载freeSSHd.exe SFTP服务端,你可以去官网下载也可以去我百度云下载 ,下载完成直接后安装在你准备好的SFTP服务器(如果你想测试安装在本地机器也可) 。 下载后,安装过程前五个步骤默认下一步即可,点击Install执行一段时间后,它会 询问你是否生成私有密钥(这里的密钥其实就是RSA或DSA非对称加密算法文件),请点 击'是'生成用于服务器验证密钥(如果你点击'否',安装成后,打开软件配置,进入Se rver status选项卡SSH server is not running 点击这里开启服务会报错:Keys not loaded or generated.,这时就是需要你手动切换到SSH选项卡,生成RSA或DSA算法文件才行,算法 文件是用于处理公有密钥的,其中原理请详细了解这两种算法),接着询问你是否将FR EESSHD以服务形式运行,同上点击'是'(如果你点'否'就不会把服务端在windows服务里 面运行,每次开机都要启动软件)。 安装成功后以管理员运行软件FREESSHD,将看到友好的提示。 安装成功后需要配置,关键也在配置,请仔细阅读,避免陷入我走过的坑。 Server status 选项卡 是telnet 和SFTP两个服务端的开关,等把所有配置配好后,最后一步才把开关开启来,开启后有 两个绿色的钩。 Telnet 选项卡 如果不使用telnet服务端,可以不用配置这个内容。Listen address就是服务器的IP地址或者本机127.0.0.1 ,telnet默认是23端口,command shell 必须是CMD命令程序的路径,默认是C:\Windows\system32\cmd.exe,其他选项默认即可 。 SSH选项卡 这是配置SFTP服务端的,Listen address就是服务器的IP地址或者本机127.0.0.1,端口是默认22,为了安全可以改用其 他端口,不熟悉的话默认即可。command shell 必须是CMD命令程序的路径,默认是C:\Windows\system32\cmd.exe。RSA key 是加密算法的一种,如果你安装的时候点击否,请在这里后面New一个,位数有512 、1024、 2048 ,建议用2048安全度高,DSA key 是另一种加密算法,用于数字签名认证,如果是空也要New一个,位数同样有512 、1024、 2048,建议用2048安全度高,ECDSA 也是一种算法,是ECC与DSA的合体,这里可以为空,不用new 。当然你new一个也可。 Authentication 选项卡 这里是放置认证公有密钥的目录和认证方式的权限配置,public key folder 是你放置公有密钥的地方,这里的公有密钥是用工具生成的,怎么生成后面会讲到。建 议在安装根目录建立一个文件夹Keys ,然后把生成的密钥拷贝到这文件夹里面,选择这个目录即可,password authentication 和 public key authentication 是两种SFTP认证方式的权限配置,Disabled是禁用,Allowed 是允许,Required是必须,默认两种都允许即可。 Encryption选项卡 加密算法选项,默认Any即可。 Tunneling 选项卡 默认即可 SFTP选项卡 这是你配置SFTP的根目录,客户端通过SFTP访问服务端文件交互的根目录,选择一个你 建好用于SFTP文件放置的地方。 Users 选项卡 用户管理,Add用户,输入登录名,Authorization 是用户授权方式,这里有三种,第一种是windows 系统账户登录,第二种是自定义用户名密码登录(这种方式很简单,开启服务后通过FT P客户端直接用户名密码登录就可以),第三种是公有密钥认证登录(这种方式比较麻烦 需要生成共有密钥),我这里选择第三种。User can use是传输协议,有SHELLSFTP 、Tunneling ,我们选择SFTP。 Host restrictions 选项卡默认 默认即可。 Logging 选项卡 日志选项卡要开启,用于记录存放SFTP传输的,这个功能非常有用,日志最好做个wi ndows 任务每天备份用于后续查错。 Online users 选项卡 在线用户。 Automatic updates 选项卡 默认即可。 配置完成后点击应用按钮。然后回到Server status 启动。 如果以服

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值