利用sshpass避免scp命令传输文件多次输入密码
1、scp基本用法:
scp是基于ssh的 将本地文件上传或发送到服务器的命令。
scp localpath username@ip:serverpath
其中:
localpath:要上传的本地文件路径
username:服务器用户名
ip:服务器地址
serverpath:要上传到服务器的文件路径
比如:
scp D:\data\00.txt xy@192.168.167.146:/home/xy/ftper/yxd
2、使用sshpass避免多次输入密码
因为scp的安全性,要求每次传文件需要输入服务器密码。或者将scp命令写入py文件时避免程序被打断,可以直接利用sshpass
sshpass安装
方法一:
yum install sshpass
方法二:
# 切换到目标路径,下载
wget http://sourceforge.net/projects/sshpass/files/latest/download -O sshpass.tar.gz
# 解压并安装
tar -zxvf sshpass.tar.gz
#注意这里的后缀-1.08以自己下载的为准
cd sshpass-1.08
./configure
make
make install
我这里下载失败是因为之前用root权限下载过,make install时会提示输入密码,即下载成功
试一下sshpass是否可用
sshpass -p password scp localpath username@ip:serverpath
其中:
password:登录服务器密码
localpath:要上传的本地文件路径
username:服务器用户名
ip:服务器地址
serverpath:要上传到服务器的文件路径
比如:
sshpass -p 密码 scp ./test.txt ftper@服务器地址:/data1/auth-priv/ftper/yxd/