scp在命令行中带密码远程下载文件 sshpass安装

sshpass-Linux命令之非交互SSH密码验证
ssh登陆不能在命令行中指定密码。sshpass的出现,解决了这一问题。sshpass用于非交互SSH的密码验证,一般用在sh脚本中,无须再次输入密码。
它允许你用 -p 参数指定明文密码,然后直接登录远程服务器,它支持密码从命令行、文件、环境变量中读取。
安装步骤如下:
1. 下载
sshpass下载地址:http://sourceforge.net/projects/sshpass/ 下载为一个 tar.gz的压缩包。
2.把tar.gz的压缩包 上传到linux服务器,此处以sshpass-1.06.tar.gz为例,服务器存放目录为/user/
3.到user目录下,执行:cd /user
4.解压缩
tar -zxvf sshpass-1.06.tar.gz
5.进入解压后的文件目录
执行:cd sshpass-1.06
6.指定安装目录
执行:./configure --prefix=/user/sshpass
说明:/user/sshpass就是安装sshpass的路径。
7.加载
执行:make
再执行:make install
8.复制
执行:cp /user/sshpass/bin/sshpass /usr/bin/
说明:/user/sshpass是安装sshpass的路径。
9.检验是否安装成功
执行:sshpass
出现如下提示即安装成功:在这里插入图片描述10.使用
sshpass -p ‘密码’ scp -r root@192.168.0.4:/user/count_fille.txt /user/
说明如下:在这里插入图片描述注意:对于ssh的第一次登陆,会提示:“Are you sure you want to continue connecting (yes/no)”,这时用sshpass会不好使,可以在ssh命令后面加上 -o StrictHostKeyChecking=no来解决

11.如需定时执行
(1)生成一个.sh的文件,
执行:vi testsshpass.sh
然后把下面的粘贴进去,并保存
#!/bin/sh
sshpass -p ‘密码’ scp -r root@192.168.0.4:/user/count_fille.txt /user/
(2)授权
chmod +x testsshpass.sh
(3)添加任务计划
执行:crontab -e
添加如下内容
30 11 * * * /user/testsshpass.sh
保存后,再执行service crond restart

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雄哥007

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值