linux下通过ssh用户名密码的rsync传输文件方法

一般用rsync传输文件都会使用密钥的方式实现免密码验证,但有些机器由于特殊的原因,不能配置密钥,这时就要用ssh的用户名和密码方式使用rsync

1. 首先,通过ssh 命令登录一次远程的主机,这里假设远程的主机为12.12.12.12,ssh使用的端口是5502

ssh [email protected] -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 [email protected]:/tmp/speed.txt

其中:

-p: 后面接远程主机的登录密码

'ssh -p 5502' :表示通过ssh连接,ssh服务使用的5502端口

/root/Desktop/install :本地的文件

[email protected]  :远程主机的用户名和ip地址

/tmp/speed.txt  :传送到远程主机上的文件地址

 

【作者】曾健生
【QQ】190678908
【微信公众号】 appbackend
【新浪微博】 @newjueqi
【博客】http://blog.csdn.net/newjueqi

你可能感兴趣的:(linux)