看完这一篇就会的服务器间SSH免密登录

SSH,全写为Secure Shell,是开源的,是专为远程登录会话和其他网络服务提供安全性的协议。系统管理员可用它来执行命令,以及通过 SCP 协议在网络上向另一台电脑传输文件。

为什么服务器之间会需要免密码登陆呢?

平时我们用SSH连接登录服务器,总是要输入用户名和密码。而比如在Hadoop集群中,Namenode通过连接来启动和停止各个节点上的守护进程,如果需要频繁操作输入用户名和密码就是麻烦事。

这个时候就要SSH免密码登录了。

下面给大家介绍云服务器间如何实现免密码登录。

01 SSH免密码登录原理

说到SSH免密码登录,就要说到RSA算法。

RSA算法是常用的非对称加密算法,既能用于加密,也能用于数字签名。

SSH免密码登录用的是RSA算法。

SSH免密码登录原理如下图所示。

图片

1、首先服务器1生成密钥对(公钥、私钥)。

2、服务器1把自己的公钥给服务器2。

3、服务器2收到服务器1发来的公钥,保存到.ssh/authorized_keys文件里。

4、服务器2随机产生一个字符串。

5、服务器2使用服务器1公钥进行加密,并且发回给服务器1。

6、服务器1收到服务器2的,使用自己私钥进行解密。

7、服务器1解密后字符串发给服务器2。

8、服务器2收到服务器1解密的字符串。

9、服务器2对比产生的字符串,一样允许登录,不一样不允许登录。

02 SSH免密码登录操作

假设我这边有三台云服务器,系统为Centos7,具体如下:(IP是乱编的)

服务公有IP私有IP
bigdata111139.19.149.111192.168.0.111
bigdata112139.19.149.112192.168.0.112
bigdata113139.19.149.113192.168.0.113

1)首先将云服务器主机改名字。

hostnamectl set-hostnamebigdata111 
hostnamectl set-hostnamebigdata112 
hostnamectl set-hostnamebigdata113

2)设置主机名和IP对应,首先是bigdata111这台.。

[root@bigdata111 ~]# vim /etc/hosts
 192.168.0.111    bigdata111 
 139.19.149.112   bigdata112 
 139.19.149.113   bigdata113

bigdata112、bigdata113设置也一样,如下所示:

[root@bigdata112 ~]# vim /etc/hosts
139.19.149.111   bigdata111
192.168.0.112    bigdata112
139.19.149.113   bigdata113
[root@bigdata113 ~]# vim /etc/hosts
139.19.149.111   bigdata111
139.19.149.112   bigdata112
192.168.0.113    bigdata113

3)生成秘钥对。

ssh-keygen -t rsa

4)上传配置公钥。

ssh-copy-id -i .ssh/id_rsa.pubbigdata111
ssh-copy-id -i .ssh/id_rsa.pubbigdata112
ssh-copy-id -i .ssh/id_rsa.pubbigdata113

输入完成之后需要输入服务器密码。即可设置完成SSH免密码登录了。

之后这三台云服务器之间用SSH连接就直接为免密码登录了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值