一般用rsync传输文件都会使用密钥的方式实现免密码验证,但有些机器由于特殊的原因,不能配置密钥,这时就要用ssh的用户名和密码方式使用rsync
1. 首先,通过ssh 命令登录一次远程的主机,这里假设远程的主机为12.12.12.12,ssh使用的端口是5502
ssh root@12.12.12.12 -p 5502
按照屏幕提示输入远程主机的密码即可,这样登录成功后,就会在~/.ssh/known_hosts 文件中添加主机的信息
2. 在本机上安装sshpass,centos的用户直接通过下面的命令安装:
yum install sshpass
或者在 https://sourceforge.net/projects/sshpass/files/latest/download 下载源码,通过编译的方式安装:
tar zxvf sshpass-1.06.tar.gz
cd sshpass-1.06
./configure
make install
3. 在本机上通过rsync传送文件到远程主机,运行下面的命令:
sshpass -p 123456 rsync -avz -e 'ssh -p 5502' /root/Desktop/install root@12.12.12.12:/tmp/speed.txt
其中:
-p: 后面接远程主机的登录密码'ssh -p 5502' :表示通过ssh连接,ssh服务使用的5502端口/root/Desktop/install :本地的文件root@12.12.12.12 :远程主机的用户名和ip地址/tmp/speed.txt :传送到远程主机上的文件地址
【作者】曾健生
【QQ】190678908
【微信公众号】 appbackend
【新浪微博】 @newjueqi
【博客】http://blog.csdn.net/newjueqi