SSH免密登陆原理及实现

作者: 帅气陈吃苹果 | 来源:发表于2017-12-14 16:55 被阅读221次

声明:作者原创,转载注明出处。欢迎指正,不接受批评。

作者:帅气陈吃苹果

一、SSH简介

SSH(Secure Shell)是一种通信加密协议,加密算法包括:RSA、DSA等。

  1. RSA:非对称加密算法,其安全性基于极其困难的大整数的分解(两个素数的乘积);
  1. DSA:也是非对称加密算法,其安全性基于整数有限域离散对数难题;

二、SSH免密登陆原理

SSH免密登陆原理

三、SSH免密登陆

服务器环境:

机器 用户名 密码
master hadoop hadoop
slave1 hadoop hadoop
slave2 hadoop hadoop

1、生成密钥

分别在master、slave1、slave2机器的用户家目录(/home/hadoop/)下,执行下列命令,通过RSA算法进行加密,提示输入的话可直接回车不输入任何内容:

ssh-keygen -t rsa

将会在家目录下的隐藏目录/.ssh下生成文件:

id_rsa.pub       //公钥   
id_rsa           //密钥

2、追加公钥

在master机器上,将id_rsa.pub的内容写入authorized_keys文件中

cat id_rsa.pub >> authorized_keys

3、发送其他服务器公钥

在slave1机器上,将id_rsa.pub复制到master机器的/.ssh目录下,并重新命名位
id_rsa.pub.slave1

scp id_rsa.pub hadoop@master:/home/hadoop/.ssh/id_rsa.pub.slave1

在slave2机器上,将id_rsa.pub复制到master机器的/.ssh目录下,并重新命名位id_rsa.pub.slave2

scp id_rsa.pub hadoop@master:/home/hadoop/.ssh/id_rsa.pub.slave2

4、追加其他服务器公钥

在master机器上,在/.ssh目录下将看到从slave1、slave2发送过来的文件:

id_rsa.pub.slave1
id_rsa.pub.slave2

将这两个公钥内容追加写入到master机器/.ssh目录下的authorized_keys中:

cat id_rsa.pub.slave1 >> authorized_keys
cat id_rsa.pub.slave2 >> authorized_keys

5、确认公钥内容

在master机器上,查看authorized_keys文件内容,确认包含slave1、slave2机器的两个公钥内容:

cat authorized_keys

6、发送authorized_keys

在master机器上,将authorized_keys发送到slave1、slave2机器的/.ssh目录下:

scp authorized_keys hadoop@slave1:/home/hadoop/.ssh/
scp authorized_keys hadoop@slave2:/home/hadoop/.ssh/

7、修改authorized_keys文件权限

分别在master、slave1、slave2机器上执行,对auhorized_keys进行权限修改,否则将无法实现免密码登录:

chmod 600 authorized_keys

8、SSH登陆测试

在master机器上,从master机器通过ssh登录到slave1,第一次需要密码,退出后以后登录就不需要密码了,其他机器类似操作:

//登陆slave1
ssh slave1

//登陆后退出
exit

//重新登陆
ssh slave1

参考链接:
http://blog.csdn.net/zwx19921215/article/details/19641345
https://www.cnblogs.com/nexiyi/archive/2013/01/06/2847865.html

最后,欢迎指正。喜欢的话,点个赞呗,请你吃苹果。

相关文章

  • SSH免密登陆原理及实现

    声明:作者原创,转载注明出处。欢迎指正,不接受批评。作者:帅气陈吃苹果 一、SSH简介 SSH(Secure Sh...

  • SSH免密登陆原理及实现

    https://segmentfault.com/a/1190000012484646 https://baiji...

  • linux ssh 免密登陆排查技巧

    场景: 使用ssh免密登陆配置的时候。做了相关配置之后,尝试ssh免密登陆,还是提示输入密码,无法免密登陆。也没有...

  • ssh 免密登陆

    密码登录原理: 首先我们来看一下传统的ssh 密码登录的具体过程: 密钥登录原理: ssh 免密登陆实战 实验说明...

  • Linux 设置免密登陆(Mac)

    设置ssh 免密登陆 前置条件: 安装ssh-copy-idbrew install ssh-copy-id 登陆...

  • ssh免密登陆原理

    原理其实很简单首先假设有两台服务器,一台为Server1,另一台为Server2,简称S1、S2现在想要实现在S1...

  • SSH的总结

    ssh的相关总结ssh登陆的过程非对称加密RSA登陆过程免密登陆linux相关文件及操作公钥与秘钥的保存格式用密码...

  • mac免密登陆ssh服务器

    1. git clone 2. ssh免密登陆

  • SSH免密登录

    免密登录的原理 首先免密登录要从SSH的流程说起,最常见的是密码登录,流程如下 免密登录要实现的是客户端向服务端发...

  • SSH 免密登陆

    SSH 免密登陆 本地机器 回车回车 这里要注意权限的问题,如果权限不对可能会导致无法免密登陆。

网友评论

    本文标题:SSH免密登陆原理及实现

    本文链接:https://www.haomeiwen.com/subject/dqgkwxtx.html