利用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/

在这里插入图片描述

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐