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

一般用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

发布了278 篇原创文章 · 获赞 301 · 访问量 804万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览