首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何为rsync ssh命令传递密码

在使用rsync和ssh命令时,通常不建议直接传递密码,而是使用公钥认证方式进行身份验证,以提高安全性。以下是一种基本的步骤来实现rsync和ssh命令的密码传递:

  1. 生成密钥对:首先,在本地计算机上生成密钥对,包括公钥和私钥。可以使用以下命令生成密钥对:ssh-keygen -t rsa这将生成一个RSA密钥对,可以选择保存位置和设置密码。
  2. 将公钥复制到目标服务器:将生成的公钥复制到目标服务器上,以便进行身份验证。可以使用以下命令将公钥复制到目标服务器:ssh-copy-id user@server_ip其中,user是目标服务器上的用户名,server_ip是目标服务器的IP地址。
  3. 验证身份:完成上述步骤后,可以尝试使用ssh命令连接到目标服务器,验证是否成功。可以使用以下命令进行连接:ssh user@server_ip如果成功连接到目标服务器而无需输入密码,则表示公钥认证已成功。
  4. 使用rsync命令传递密码:如果确实需要在rsync命令中传递密码,可以使用"--password-file"选项指定一个包含密码的文件。首先,创建一个文本文件,将密码写入其中,并确保只有具有适当权限的用户可以访问该文件。然后,在rsync命令中使用以下选项:rsync --password-file=/path/to/password_file source_file user@server_ip:/path/to/destination其中,/path/to/password_file是包含密码的文件的路径,source_file是要传输的源文件,user是目标服务器上的用户名,server_ip是目标服务器的IP地址,/path/to/destination是目标服务器上的目标路径。

需要注意的是,直接传递密码存在安全风险,建议尽量使用公钥认证方式进行身份验证。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 对比cp和scp命令 将数据从一台linux服务器复制到另一台linux服务器

    cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。 -a:此参数的效果和同时指定"-dpR"参数相同; -d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录; -f:强行复制文件或目录,不论目标文件或目录是否已存在; -i:覆盖既有文件之前先询问用户; -l:对源文件

    05

    rsync使用详解

    Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。Rsync使用所谓的“Rsync算法”来使本地和远 程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 Rsync本来是用于替代rcp的一个工具,目前由rsync.samba.org维护,所以rsync.conf文件的格式类似于samba的 主配置文件。Rsync可以通过rsh或ssh使用,也能以daemon模式去运行,在以daemon方式运行时Rsync server会打开一个873端口,等待客户端去连接。连接时,Rsync server会检查口令是否相符,若通过口令查核,则可以开始进行文件传输。第一次连通完成时,会把整份文件传输一次,以后则就只需进行增量备份。 Rsync支持大多数的类Unix系统,无论是Linux、Solaris还是BSD上都经过了良好的测试。此外,它在windows平台下也有相应的版本,如cwRsync和Sync2NAS等工具。 Rsync的基本特点如下: 1.可以镜像保存整个目录树和文件系统; 2.可以很容易做到保持原来文件的权限、时间、软硬链接等; 3.无须特殊权限即可安装; 4.优化的流程,文件传输效率高; 5.可以使用rsh、ssh等方式来传输文件,当然也可以通过直接的socket连接; 6.支持匿名传输。 2、Rsync同步算法 Rsync只所以同步文件的速度相当快,是因为“Rsync同步算法”能在很短的时间内计算出需要备份的数据,关于Rsync的同步算法描述如下: 假定在1号和2号两台计算机之间同步相似的文件A与B,其中1号对文件A拥有访问权,2号对文件B拥有访问权。并且假定主机1号与2号之间的网络带宽很小。那么rsync算法将通过下面的五个步骤来完成: 1、2号将文件B分割成一组不重叠的固定大小为S字节的数据块,最后一块可能会比S 小。 2、2号对每一个分割好的数据块执行两种校验:一种是32位的滚动弱校验,另一种是128位的MD4强校验 3、2号将这些校验结果发给1号。 4、1号通过搜索文件A的所有大小为S的数据块(偏移量可以任选,不一定非要是S的倍数),来寻找与文件B的某一块有着相同的弱校验码和强校验码的数据块。这项工作可以借助滚动校验的特性很快完成。 5、1号发给2号一串指令来生成文件A在2号上的备份。这里的每一条指令要么是对文件B经拥有某一个数据块而不须重传的证明,要么是一个数据块,这个数据块肯定是没有与文件B的任何一个数据块匹配上的。 3、Rsync参数说明 3.1 rsyncd.conf配置文件 -、全局参数 在文件中[module]之前的所有参数都是全局参数,当然也可以在全局参数部分定义模块参数,这时候该参数的值就是所有模块的默认值。 port 指定后台程序使用的端口号,默认为873。 motd file "motd file"参数用来指定一个消息文件,当客户连接服务器时该文件的内容显示给客户,默认是没有motd文件的。 log file "log file"指定rsync的日志文件,而不将日志发送给syslog。比如可指定为“/var/log/rsyncd.log”。 pid file 指定rsync的pid文件,通常指定为“/var/run/rsyncd.pid”。 syslog facility 指 定rsync发送日志消息给syslog时的消息级别,常见的消息级别是:uth, authpriv, cron, daemon, ftp, kern, lpr, mail, news, security, sys-log, user, uucp, local0, local1, local2, local3,local4, local5, local6和local7。默认值是daemon。 二、模块参数 主要是定义服务器哪个目录要被同步。其格式必须为“[module]”形式,这个名字就是在rsync 客户端看到的名字,其实有点象Samba服务器提供的共享名。而服务器真正同步的数据是通过 path 来指定的。我们可以根据自己的需要,来指定多个模块,模块中可以定义以下参数: comment 给模块指定一个描述,该描述连同模块名在客户连接得到模块列表时显示给客户。默认没有描述定义。 path 指定该模块的供备份的目录树路径,该参数是必须指定的。 use chroot 如 果"use chroot"指定为true,那么rsync在传输文件以前首先chroot到path参数所指定的目录下。这样做的原因是实现额外的安全防护,但是缺 点是需要以roots权限,并且不能备份指

    02

    RSync实现文件备份同步

    rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync。它的特性如下: 1、可以镜像保存整个目录树和文件系统。 2、可以很容易做到保持原来文件的权限、时间、软硬链接等等。 3、无须特殊权限即可安装。 4、优化的流程,文件传输效率高。 5、可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接。 6、支持匿名传输。 rsync实现网站的备份,文件的同步,不同系统的文件的同步,如果是windows的话,需要windows版本cwrsync] 一、什么是rsync rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。 rsync是用 “rsync 算法”提供了一个客户机和远程文件服务器的文件同步的快速方法,而且可以通过ssh方式来传输文件,这样其保密性也非常好,另外它还是免费的软件。 rsync 包括如下的一些特性: 能更新整个目录和树和文件系统; 有选择性的保持符号链链、硬链接、文件属于、权限、设备以及时间等; 对于安装来说,无任何特殊权限要求; 对于多个文件来说,内部流水线减少文件等待的延时; 能用rsh、ssh 或直接端口做为传输入端口; 支持匿名rsync 同步文件,是理想的镜像工具; 二、架设rsync服务器 架设rsync 服务器比较简单,写一个配置文件rsyncd.conf 。文件的书写也是有规则的,我们可以参照rsync.samba.org 上的文档来做。当然我们首先要安装好rsync这个软件才行; A、rsync的安装; 获取rsync rysnc的官方网站:http://rsync.samba.org/可以从上面得到最新的版本。目前最新版是3.05。当然,因为rsync是一款如此有用的软件,所以很多Linux的发行版本都将它收录在内了。 软件包安装

    02

    Rsync 的简单应用与配置

    1 什么是rsync?(理论) 简而言之主要特点就是实现全量与增量,本地和远程的数据备份工具,同样适用于indows。 官网http://www.samba.org/ftp/rsync/rsync.html rsync 在本地目录之间还能实现rm删除的功能 他根据文件和修改时间大小来同步 也可以根据权限不同来备份,需指定参数 2 特点(理论) 能有排除功能 能保持源目录和文件的时间权限和软连接属主等属性 能配合ssh通道来加密 可以作为服务,让客户端来连 支持匿名和支持认证 3 工作方式(理论) 本地之间传 类似cpmingl 借助ssh 守护进程方式(重要) 4实例用途(操作) (1)客户端模式 本地环境:     传文件 rsync /etc/hosts /opt     传目录  rsync -avz /opt /mnt  <==相当于 cp -ap /opt /mnt ##注意/opt后的/加和不加的区别,很重要加了/只是把下面的文件过去,不加的话连自己opt都过去了,如果记不住就自己测试下 远程环境:     推送(传过去):rsync -avz /etc/hosts -e “ssh -p 22000” root@64.78.172.119:~     拉取(从远端主机传过来):rsync –avz root@64.78.172.119:~/test.txt  /etc/ -e “ssh -p 22000”     ##记忆命令方法:本地目录 ---》》远程 ----》通过什么方式 -e “ssh -p22000” (2)守护进程模式 配置服务端rysnc     Vi /etc/rsyncd.conf里的内容 uid = rsync gid = rsync use chroot = no max connections = 200 timeout = 100 pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock log file  = /var/log/rsyncd.log [oldboy] path = /oldboy/ ignore errors read only = false list =  false hosts allow = 199.101.117.0/24 hosts deny = 0.0.0.0/32 auth users = rsync_backup secrets file = /etc/rsync.password ##如果在windows下编辑或者复制的编码到linux下就最好用这个命令处理下Dos2unix /etc/rsyncd.conf mkdir /oldboy useradd rsync -s /bin/nologin –M                            ## 新建个账户(和配置文件的uid-gid对应,此账户属性不能登录并且没目录) chown -R rsync.rsync /oldboy                                ##(重要) echo “rsync_backup:oldboy”> /etc/rsync.password  ##rsync_backup是虚拟账户,到时候客户端连接就用这个账户和密码oldboy。 chmod 600 /etc/rsyncd.conf                                  ##设置成别人都不能看到,因为里面有密码 rsync --daemon  #启动进程 ##以上配置结束,下面是辅助的管理rsync的操作命令 lsof -i :873                                                          ##查看rsync服务是否起来 pkill  rsync                                                          ##杀掉进程 killall rsync                                                          ##但不一定杀掉 判断杀掉否就再执行一次,提示no programs killed就说明对了 ps -ef |grep rsync ##客户端配置:只要这两步即可 echo “oldboy”>/etc/rsync.password                        #这个路径和服务端路径没任何关系,为了规范而已,密码必须和服务那相同 chmod 600 /etc/rsync.password ##当配

    02

    rsync+inotify实现触发式远程实时同步

    在Linux平台下我们可以利用2.6内核的inotify监控文件系统机制,通过inotify-tools来实现实时同步了。 具体操作如下: 1.安装所需软件 目前各大Linux发行版本都已经具有了rsync与inotify-tools的软件包,推荐通过RPM,yum,apt-get等方式进行安装。 RHEL: [root@server1 ~]# rpm -ivh rsync-* [root@server1 ~]# rpm -ivh inotify-tools-* CentOS: [root@server1 ~]# yum install rsync inotify-tools Ubuntu: [root@server1 ~]# apt-get install rsync inotify-tools 采用源码方式安装的步骤如下: [root@server1 ~]# wget ftp://ftp.samba.org/pub/rsync/rsync-3.0.8.tar.gz [root@server1 ~]# tar xzvf rsync-3.0.8.tar.gz [root@server1 ~]# cd rsync-3.0.8 [root@server1 ~]# ./configure [root@server1 ~]# make [root@server1 ~]# make install [root@server1 ~]# wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz [root@server1 ~]# tar xzvf inotify-tools-3.14.tar.gz [root@server1 ~]# cd inotify-tools-3.14 [root@server1 ~]# ./configure [root@server1 ~]# make [root@server1 ~]# make install 2.配置ssh key信任 建议通过普通用户进行操作,理由是通过root操作本身就危险,免密码登陆的root就更危险了。 在两台服务器上创建rsync用户 [root@server1 ~]# useradd -m rsync [root@server1 ~]# passwd rsync [root@server2 ~]# useradd -m rsync [root@server2 ~]# passwd rsync [root@server1 ~]# su - rsync [rsync@server1 ~]$ ssh-keygen -t rsa 在提示保存私钥(key)和公钥(public key)的位置时,使用默认值; 在提示是否需要私钥密码(passphrase)时,直接敲回车,即不使用私钥密码。 之后,将生成一对密钥,id_rsa(私钥文件)和id_rsa.pub(公钥文件),保存在/home/rsync/.ssh/目录下。 将公钥添加到远程主机的 authorized_keys 文件中 将文件上传到远程主机(假设远程主机IP为192.168.10.4) [rsync@server1 ~]$ scp ~/.ssh/id_rsa.pub rsync@192.168.10.4:/home/rsync/ 使用rsync用户SSH到登陆到远程主机,并将公钥添加到 authorized_keys 文件中 [rsync@server2 ~]$ mkdir .ssh [rsync@server2 ~]$ chmod 700 .ssh [rsync@server2 ~]$ mv ~/id_rsa.pub ~/.ssh/authorized_keys 重启SSH服务 [root@server1 ~]# /etc/init.d/sshd restart [root@server2 ~]# /etc/init.d/sshd restart 3.创建inotify_rsync.sh脚本 [root@server1 ~]# vim inotify_rsync.sh 1    #!/bin/sh 2    SRC=/home/rsync/test 3    DST=rsync@192.168.10.4:/home/rsync/test 4     5    /bin/su - rsync 6    /usr/local/bin/inotifywait -mrq -e modify,delete,create,attrib ${SRC} | while read D E F 7            do 8                    /usr/bin/rsync -ahqzt

    02
    领券