配置SSH免密码登陆(非对称加密)和原理

在SecureCRT上创建对两台虚拟机的链接,然后在其中一个上走SSH协议,给另一台机器输命令

这是在192.168.8.88上面输入命令。。。。[root@master ~]# ssh 192.168.8.99 mkdir /jose

通过SSH即使自己给自己输命令都要输入密码

hadoop启动的时候只需要一台机器就可以把其他机器启动,因此需要用到SSH


-------------------------------------------------------配置SSH免密码启动hadoop--------------------

生成ssh免秘钥登陆

[root@master ~]# ls -la显示当前目录下所有文件详细信息

有一个.ssh隐藏文件

[root@master ~]# cd .ssh
[root@master .ssh]# ls
known_hosts

[root@master .ssh]# ssh-keygen -t rsa

[root@master .ssh]# ls
id_rsa  id_rsa.pub  known_hosts

[root@master .ssh]# cp id_rsa.pub authorized_keys

然后ssh master一下验证是否需要再输入密码。。。。

进入到hadoop的sbin目录下启动,发现不再需要密码。。。jps显示成功

--------------------------------------------------------免密码登陆到另一台机器---------------------------

前提是已经通过上面操作,生成了公钥,利用ssh-copy-id。。。把自己公钥拷贝给目标机器的ip地址

[root@master ~]# ssh-copy-id 192.168.8.99

然后输入一次密码。。。。。

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '192.168.8.99'"
and check to make sure that only the key(s) you wanted were added.

[root@master ~]# ssh 192.168.8.99
Last login: Sun Nov 27 17:12:53 2016 from master
[root@master ~]# cd .ssh
[root@master .ssh]# ls
authorized_keys  known_hosts

在目标机器的.ssh下出现2个文件。。。。ssh配置成功

---------------------------------------------------------------------原理------------------------------------------------------

现在有两台机器,一台叫A,另一台叫B。。现在A要免登陆到B

A要首先生成一对秘钥,ssh-keygen

将公钥拷贝给B并且要重命名为authorized_keys(更好的方法是ssh-copy-id B)

A向B发送一个连接请求,信息包括自己的用户名,ip等

然后B得到A信息后,去.ssh下的authorized_keys文件中查找,如果有该用户的用户名和主机名,B会随机生成一个字符串STR。。。

然后利用A的公钥对字符串STR进行加密,然后发送给A,A得到B发过来的消息用自己的私钥进行解密,然后将解密后的字符串发送给B。

B接收到A发过来解密的字符串会跟STR一一比较,一致就会允许免登陆。。。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值