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
更多推荐
所有评论(0)