无需密码通过ssh执行rsync来同步文件的方法

简介:

1.通过ssh执行rsync(需要密码)

通过ssh帐户(需要密码)执行rsync,将文件同步镜像到远程服务器。
下面这个例子将本地的/home/ramesh同步到远程目录/backup/ramesh(服务器地址192.168.200.10)。
执行以下操作时,服务器将会提示需要用户使用密码登录。


复制代码代码如下:


rsync -avz -e /home/ramesh/ ramesh@192.168.200.10:/backup/ramesh/


2.使用ssh-keygen生成密匙

现在我们来设置ssh,以便在执行ssh操作时不需要密码,使用ssh-keygen在本地生成公钥和私钥。


复制代码代码如下:


$ ssh-keygen
Enter passphrase (empty for no passphrase):
Enter same passphrase again:


提示:当提示输入密码时,只需输入两次回车键,不指配密码字符。

3.使用ssh-copy-id将公匙拷贝至远程主机

执行ssh-copy-id,将通过ssh-keygen生成的公匙拷贝至远程主机。


复制代码代码如下:


ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.200.10


提示:执行以上操作时,将会提示输入远程主机帐户和密码,然后就会自动将公匙拷贝至远程目录。

4.无需密码通过ssh来执行rsync

现在,你可以不需要密码就可以ssh连接到远程主机


复制代码代码如下:


ssh 192.168.200.10


重新来执行rsync,现在应该就不会提示输入密码了


复制代码代码如下:


rsync -avz -e /home/ramesh/ ramesh@192.168.200.10:/backup/ramesh/

本文转自  陈小龙哈   51CTO博客,原文链接:http://blog.51cto.com/chenxiaolong/1835767

相关文章
|
网络安全 数据安全/隐私保护
ssh远程执行命令自动输入密码方式
ssh远程执行命令自动输入密码方式
2119 0
|
Cloud Native 网络安全 Go
SSH连接服务器后执行多条命令
SSH连接服务器后执行多条命令
137 0
|
数据安全/隐私保护 Perl
sshpass-如何在脚本中执行scp时自动输入密码
sshpass-如何在脚本中执行scp时自动输入密码
108 0
|
网络安全 Go Cloud Native
【小技巧】SSH连接服务器后如何默认执行多条命令?
大家平时有没有遇到自己连接云服务器,ssh 连接上去之后,发现自己的一些小工具用不了 例如go build无法使用 ,由于我们安装配置golang 环境的时候
184 0
【小技巧】SSH连接服务器后如何默认执行多条命令?
|
网络安全
05-rsync与ssh访问流程区别
ssh访问流程 1.首先使用ssh root@172.16.1.41:/backup去请求172.16.1.41服务器的backup目录 2.当请求到达1.41服务器时,去判断/etc/passwd文件是否有root这个用户,如果存在则根据root用户的权限去访问对应的/backup目录 rsync访问流程 1.首先使用rsync -avz rsync_backup@172.16.1.41::backup去请求1.41服务器的backup模块 2.请求到达服务器时,服务器会判断/etc/rsync.password文件验证rsync_backup用户是否存在,如果存在就将虚拟用于程序
149 0
05-rsync与ssh访问流程区别
|
Shell Linux 网络安全
解决SSH登录用户执行的命令部分环境变量参数不生效的问题
问题概况 linux机器在/etc/profile配置完成环境变量后,SSH到目标机器执行命令,但是获取不到已配置的环境变量值。 例如场景: 在/etc/profile配置了http代理 export all_proxy=http://$PROXY_HOST:8118 export ftp_pr...
2528 0
|
网络安全 数据安全/隐私保护 Shell
实现自动SSH连接
#!/usr/bin/expect set timeout 10 set username [lindex $argv 0] set password [lindex $argv 1] set hostname [lindex $argv 2] #set username ftp...
689 0
|
网络安全 数据安全/隐私保护