那啥了狗了,我们要写个sh脚本,在两台linux直接传递文件
满网都是:scp 【文件名】【对方服务器用户名】@【对方IP】:【对方路径+文件名】
要是在xshell里执行我也认了,执行完命令,输入对方服务器密码就行。关键我这是sh脚本啊。。。我运行脚本去哪输入密码???
找了N久,有说可以通过sshpass命令输入密码的,刚开始真没放在心上,后来实在没招了,试了一下。。。真对不起看的第一篇帖子。。。
1、先安装sshpass,反正我的Linux不带sshpass的
yum -y install sshpass
如果出现这种情况:
可以这么处理:
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y
sudo dnf config-manager --set-enabled codeready-builder-for-rhel-8-rhui-rpms
sudo yum install sshpass -y
2、使用sshpass为scp传递密码(密码用''引上)
sshpass -p '【对方密码】' scp 【文件名】【对方服务器用户名】@【对方IP】:【对方路径+文件名】
sshpass -p 'pwd123456' scp aa.zip root@10.10.10.121:/home/test/aa.zip
3、还有个要点,就是第一次在一个服务器使用sshpass命令的时候,会提示Host key verification failed.
我是先用后面的scp命令,传递一次文件,使用的时候会提示让输入密码,输入密码后文件传递成功。然后再用sshpass就可以成功了