SSH免密登录原理及实现

声明:做者原创,转载注明出处。

做者:帅气陈吃苹果html

1、SSH简介

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

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

2、SSH免密登录原理

SSH免密登录原理

3、SSH免密登录

服务器环境:

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

一、生成密钥

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

ssh-keygen -t rsa

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

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

二、追加公钥

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

cat id_rsa.pub >> authorized_keys

三、发送其余服务器公钥

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

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

四、追加其余服务器公钥

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

id_rsa.pub.slave1
id_rsa.pub.slave2

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

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

五、确认公钥内容

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

cat authorized_keys

六、发送authorized_keys

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

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

七、修改authorized_keys文件权限

分别在master、slave一、slave2机器上执行,对auhorized_keys进行权限修改,不然将没法实现免密码登陆:

chmod 600 authorized_keys

八、SSH登录测试

在master机器上,从master机器经过ssh登陆到slave1,第一次须要密码,退出后之后登陆就不须要密码了,其余机器相似操做:

//登录slave1
ssh slave1

//登录后退出
exit

//从新登录
ssh slave1

参考连接:
http://blog.csdn.net/zwx19921...
https://www.cnblogs.com/nexiy...

最后,欢迎指正。喜欢的话,点个赞呗,请你吃苹果。
相关文章
相关标签/搜索