您的位置:新葡亰496net > 电脑系统 > 配置双机SSH信任,实现数据传输备份

配置双机SSH信任,实现数据传输备份

发布时间:2019-09-29 17:43编辑:电脑系统浏览(165)

    简单来说,就是通过ssh-keygen -t rsa命令来产生一组公私钥,私钥是id_rsa,公钥是id_rsa.pub,把公钥上传到另一台服务器对应账号的.ssh/authorized_keys,即可实现免密码登录到另一台服务器上。

    一、实现原理

    Linux配置双机SSH信任  

    一、实现原理

    一、实现原理

    1.ssh的登录方式

    使用一种被称为"公私钥"认证的方式来进行ssh登录。"公私钥"认证方式简单的解释是:

    一、实现原理

    使用一种被称为"公私钥"认证的方式来进行ssh登录。"公私钥"认证方式简单的解释是:

    使用一种被称为"公私钥"认证的方式来进行ssh登录。"公私钥"认证方式简单的解释是:

    1.1 密码口令

    • 客户端连接上服务器之后,服务器把自己的公钥传给客户端
    • 客户端输入服务器密码通过公钥加密之后传给服务器
    • 服务器根据自己的私钥解密登录密码,如果正确那么就让客户端登录

    首先在客户端上创建一对公私钥(公钥文件:新葡亰496net,~/.ssh/id_rsa.pub;私钥文件:~/.ssh/id_rsa),然后把公钥放到服务器上(~/.ssh/authorized_keys),自己保留好私钥。当ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配。如果匹配成功就可以登录了。

    使用一种被称为"公私钥"认证的方式来进行ssh登录。"公私钥"认证方式简单的解释是:

    首先在客户端上创建一对公私钥(公钥文件:~/.ssh/id_rsa.pub;私钥文件:~/.ssh/id_rsa),然后把公钥放到服务器上(~/.ssh/authorized_keys),自己保留好私钥。当ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配。如果匹配成功就可以登录了。

    首先在客户端上创建一对公私钥(公钥文件:~/.ssh/id_rsa.pub;私钥文件:~/.ssh/id_rsa),然后把公钥放到服务器上(~/.ssh/authorized_keys),自己保留好私钥。当ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配。如果匹配成功就可以登录了。

    1.2 公钥认证

    这个其实比上面的要简单,之前上大学时老师也讲过。一定要明白客户端和服务端时通过公钥和私钥实现认证登录的。一定要牢牢记住就是只靠这两个东西,没有其他的了。

    拿自动化部署举例,Rundeck部署在一台服务器上现在要对其他的一台或者多台部署服务器进行项目部署,在这个场景下Rundeck对应的服务器要想去访问其他的部署服务器就要通过公私钥的这种方式。

    Rundeck服务器相当于A端,而部署服务器相当于B端。A、B两端要实现交互认证就要通过一组公私钥。

    1、客户端即A端生成RSA公钥和私钥:

    一般在用户的根目录新建一个.ssh/.文件夹,在文件夹中通过ssh-keygen -t rsa命令来产生一组公私钥。

    如下图所示id_rsa为私钥,id_rsa.pub为公钥。

    新葡亰496net 1

    2、客户端将自己的公钥存放到服务器:在生成了公私钥之后要实现AB两端的交互认证,这两个文件肯定不能只放到A端,当然也需要在B端(服务器端)做一下登记,我们自己(A端)保留自己的私钥,然后把公钥id_rsa.pub存放到B端(一般是在用户根目录下的.ssh/目录下)

    在服务器端(B端)的.ssh/目录下还会有authorized_keys know_hosts,这两个文件。

    新葡亰496net 2

    authorized_keys:存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥,上面提到的A端在生成自己的公私钥之后,将公钥追加到authorized_keys文件后面。

    新葡亰496net 3

    红色框起来的为新追加的A端的公钥。

    know_hosts : 已知的主机公钥清单,这个作为A端和B端都会自动生成这个文件,每次和远端的服务器进行一次免密码ssh连接之后就会在这个文件的最后追加对方主机的信息(不重复)

    新葡亰496net 4

    每进行一次就会在这个文件中自动的追加新的主机信息

    通过scp将内容写到对方的文件中

    命令:scp -p ~/.ssh/id_rsa.pub root@<remote_ip>:/root/.ssh/authorized_keys

    也可以分解为一下两步来进行:

    $ scp ~/.ssh/id_rsa.pub root@<remote_ip>:pub_key //将文件拷贝至远程服务器
    $ cat ~/pub_key >>~/.ssh/authorized_keys //将内容追加到authorized_keys文件中, 不过要登录远程服务器来执行这条命令

    网上很多都是用scp >>去追加,如果你可以登录到B端的话其实直接复制过去就可以了。

     需要注意的几点:

    设置文件和目录权限(服务器端即B端的权限):

    设置authorized_keys权限
    $ chmod 600 authorized_keys 

    新葡亰496net 5

    设置.ssh目录权限
    $ chmod 700 -R .ssh

    新葡亰496net 6

    到这里我们的配置工作就结束了!!!

    进行连接认证:

    ssh root@222.73.156.133 -p1019

     新葡亰496net 7

    nsycn备份:rsync -avz -e 'ssh -p22222' /home/testa/ testb@111.160.40.132:/home/testb

    二、实验环境

    首先在客户端上创建一对公私钥(公钥文件:~/.ssh/id_rsa.pub;私钥文件:~/.ssh/id_rsa),然后把公钥放到服务器上(~/.ssh/authorized_配置双机SSH信任,实现数据传输备份。keys),自己保留好私钥。当ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配。如果匹配成功就可以登录了。  www.2cto.com  

    二、实验环境

    二、实验环境

    A机:TS-DEV/10.0.0.163

    二、实验环境

    A机:TS-DEV/10.0.0.163

    A机:TS-DEV/10.0.0.163

    B机:CS-DEV/10.0.0.188

    A机:TS-DEV/10.0.0.163

    B机:CS-DEV/10.0.0.188

    B机:CS-DEV/10.0.0.188

    三、Linux/Unix双机建立信任

    B机:CS-DEV/10.0.0.188

    三、Linux/Unix双机建立信任

    三、Linux/Unix双机建立信任

    3.1 在A机生成证书

    三、Linux/Unix双机建立信任

    3.1 在A机生成证书

    3.1 在A机生成证书

    在A机root用户下执行ssh-keygen命令,在需要输入的地方,直接回车,生成建立安全信任关系的证书。

    3.1 在A机生成证书

    在A机root用户下执行ssh-keygen命令,在需要输入的地方,直接回车,生成建立安全信任关系的证书。

    在A机root用户下执行ssh-keygen命令,在需要输入的地方,直接回车,生成建立安全信任关系的证书。

    # ssh-keygen -t rsa

    在A机root用户下执行ssh-keygen命令,在需要输入的地方,直接回车,生成建立安全信任关系的证书。

    # ssh-keygen  -t  rsa

    # ssh-keygen -t rsa

    新葡亰496net 8

    # ssh-keygen  -t  rsa

    新葡亰496net 9 

    新葡亰496net 10

    注意:在程序提示输入passphrase时直接输入回车,表示无证书密码。
       上述命令将生成私钥证书id_rsa和公钥证书id_rsa.pub,存放在用户家目录的.ssh子目录中。

    新葡亰496net 11

    注意:在程序提示输入passphrase时直接输入回车,表示无证书密码。
       上述命令将生成私钥证书id_rsa和公钥证书id_rsa.pub,存放在用户家目录的.ssh子目录中。

    注意:在程序提示输入passphrase时直接输入回车,表示无证书密码。
       上述命令将生成私钥证书id_rsa和公钥证书id_rsa.pub,存放在用户家目录的.ssh子目录中。

    配置双机SSH信任,实现数据传输备份。3.2 查看~/.ssh生成密钥的文件

    注意:在程序提示输入passphrase时直接输入回车,表示无证书密码。
       上述命令将生成私钥证书id_rsa和公钥证书id_rsa.pub,存放在用户家目录的.ssh子目录中。

    3.2 查看~/.ssh生成密钥的文件

    3.2 查看~/.ssh生成密钥的文件

    # cd ~/.ssh

    3.2 查看~/.ssh生成密钥的文件

    # cd ~/.ssh

    # cd ~/.ssh

    # ll

    # cd ~/.ssh

    # ll

    # ll

    新葡亰496net 12

    # ll

    新葡亰496net 13

    新葡亰496net 14

    3.3 A对B建立信任关系

    新葡亰496net 15

    3.3 A对B建立信任关系

    3.3 A对B建立信任关系

    将公钥证书id_rsa.pub复制到机器B的root家目录的.ssh子目录中,同时将文件名更换为authorized_keys,此时需要输入B机的root用户密码(还未建立信任关系)。建立了客户端到服务器端的信任关系后,客户端就可以不用再输入密码,就可以从服务器端拷贝数据了。

    3.3 A对B建立信任关系

    将公钥证书id_rsa.pub复制到机器B的root家目录的.ssh子目录中,同时将文件名更换为authorized_keys,此时需要输入B机的root用户密码(还未建立信任关系)。建立了客户端到服务器端的信任关系后,客户端就可以不用再输入密码,就可以从服务器端拷贝数据了。

    将公钥证书id_rsa.pub复制到机器B的root家目录的.ssh子目录中,同时将文件名更换为authorized_keys,此时需要输入B机的root用户密码(还未建立信任关系)。建立了客户端到服务器端的信任关系后,客户端就可以不用再输入密码,就可以从服务器端拷贝数据了。

    # scp -r id_rsa.pub 10.0.0.188:/root/.ssh/authorized_keys

    将公钥证书id_rsa.pub复制到机器B的root家目录的.ssh子目录中,同时将文件名更换为authorized_keys,此时需要输入B机的root用户密码(还未建立信任关系)。建立了客户端到服务器端的信任关系后,客户端就可以不用再输入密码,就可以从服务器端拷贝数据了。

    # scp -r id_rsa.pub 10.0.0.188:/root/.ssh/authorized_keys

    # scp -r id_rsa.pub 10.0.0.188:/root/.ssh/authorized_keys

    新葡亰496net 16

    # scp -r id_rsa.pub 10.0.0.188:/root/.ssh/authorized_keys

    新葡亰496net 17

    新葡亰496net 18

    3.4 B对A建立信任关系

    新葡亰496net 19

    3.4 B对A建立信任关系

    3.4 B对A建立信任关系

    在B机上执行同样的操作,建立B对A的信任关系。

    3.4 B对A建立信任关系

    在B机上执行同样的操作,建立B对A的信任关系。

    在B机上执行同样的操作,建立B对A的信任关系。

    # ssh-keygen -t rsa

    在B机上执行同样的操作,建立B对A的信任关系。

    # ssh-keygen -t rsa

    # ssh-keygen -t rsa

    新葡亰496net 20

    # ssh-keygen -t rsa

    新葡亰496net 21 

    新葡亰496net 22

    # cd ~/.ssh/

    新葡亰496net 23

    # cd ~/.ssh/

    # cd ~/.ssh/

    # ll

    # cd ~/.ssh/

    # ll

    # ll

    新葡亰496net 24

    # ll

    新葡亰496net 25

    新葡亰496net 26

    # scp -r id_rsa.pub 10.0.0.163:/root/.ssh/authorized_keys

    新葡亰496net 27

    # scp -r id_rsa.pub 10.0.0.163:/root/.ssh/authorized_keys

    # scp -r id_rsa.pub 10.0.0.163:/root/.ssh/authorized_keys

    新葡亰496net 28

    # scp -r id_rsa.pub 10.0.0.163:/root/.ssh/authorized_keys

    新葡亰496net 29

    新葡亰496net 30

    四、测试

    新葡亰496net 31

    四、测试

    接下来请看第2页精彩内容: http://www.linuxidc.com/Linux/2013-08/88715p2.htm

    在A机上:

    四、测试

    在A机上:

    新葡亰496net 32

    # scp -r 10201_database_linux_x86_64.cpio 10.0.0.188:/tmp/david/

    在A机上:

    # scp -r 10201_database_linux_x86_64.cpio 10.0.0.188:/tmp/david/

    新葡亰496net 33

    # scp -r 10201_database_linux_x86_64.cpio 10.0.0.188:/tmp/david/

    新葡亰496net 34

    在B机上:

    新葡亰496net 35

    在B机上:

    新葡亰496net 36

    在B机上:

    新葡亰496net 37

    注:如果想让B,C同时可以scp不输入密码,传输A中的数据;

    新葡亰496net 38

    双机信任关系已经建立!

    则要把B、C的公钥都给 A;
    操作步骤:把两机器的id_rsa.pub中的数据都拷贝到A的/root/.ssh/authorized_keys文件中,一行表示一条;

    双机信任关系已经建立!

    注:如果想让B,C同时可以scp不输入密码,传输A中的数据;
    则要把B、C的公钥都给 A;
    操作步骤:把两机器的id_rsa.pub中的数据都拷贝到A的/root/.ssh/authorized_keys文件中,一行表示一条。

    五、远程执行命令

    注:如果想让B,C同时可以scp不输入密码,传输A中的数据;
    则要把B、C的公钥都给 A;
    操作步骤:把两机器的id_rsa.pub中的数据都拷贝到A的/root/.ssh/authorized_keys文件中,一行表示一条;

    < body>

    命令格式:ssh 远程用户名@远程主机IP地址 '远程命令或者脚本'

    一、实现原理 使用一种被称为公私钥认证的方式来进行ssh登录。公私钥认证方式简单的解释是: 首先在客户端上创建...

    您可能感兴趣的文章:

    • Linux SSH 安全策略 更改 SSH 端口
    • Linux下实现SSH免密码登录和实现秘钥的管理、分发、部署SHELL脚本分享
    • linux下使用ssh远程执行命令批量导出数据库到本地
    • linux ssh 使用深度解析(key登录详解)
    • linux下ssh安装与scp命令使用详解
    • Linux系统使用用户密钥ssh主机访问

    # ssh [email protected] 'hostname'

    新葡亰496net 39

    上述命令执行后,终端输出的是对端主机的主机名,而不是当前登录的主机的主机名。说明hostname 这个命令其实是在对端主机上运行的。

    双机信任关系已经建立!

    使用一种被称为"公私钥"认证的方式来进行ssh登录。"公私钥"认证方式简单的解释是: 首先在客户端上创建一对公私钥(公钥...

    本文由新葡亰496net发布于电脑系统,转载请注明出处:配置双机SSH信任,实现数据传输备份

    关键词: