SSH免密登陆原理及实现
声明:作者原创,转载注明出处。
作者:帅气陈吃苹果
一、SSH简介
SSH(Secure Shell)是一种通信加密协议,加密算法包括:RSA、DSA等。
- RSA:非对称加密算法,其安全性基于极其困难的大整数的分解(两个素数的乘积);
- DSA:也是非对称加密算法,其安全性基于整数有限域离散对数难题;
二、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免密登陆配置过程和原理解析 SSH免密登陆配置过很多次,但是对它的认识只限于配置,对它认证的过程和基本的原理并没有什么认识,最近又看了一下,这里对学习的结果进行记录. 提纲: 1.SSH免密登陆 ...
- linux ssh免密登陆
大致流程: 两台linux系统A B 如果A要登陆到B 1.生成A的密钥对 2.将A的公钥拷贝到B的authorized_keys中即可 可以使用命令:ssh-copy-id -i ~/.ssh/id ...
- ssh免密登陆:sshpass -p [passwd] ssh -p [port] root@192.168.X.X
正文: ssh免密登陆:sshpass -p [passwd] ssh -p [port] root@192.168.X.X
- ssh免密登陆配置
目录 ssh免密登陆 在A工作站上输入 B服务器上输入 登陆 ssh初次登陆询问 1.单次取消 2.ansible中增加链接参数 3.修改ansible配置参数[推荐] 4.修改服务器上的ssh_co ...
- Linux Hadoop集群搭建第二步:--------SSH免密登陆
内容和Linux 搭建 Hadoop集群--Jdk配置相关联 三台虚拟机的操作 Linux SSH免密登陆: 参考网址:http://www.cnblogs.com/999-/p/6884861.ht ...
- ssh免密登陆及时间设置
1.ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa // 在自己主机生成私钥和公钥 2.scp id_rsa.pub centos@s201:/home/centos ...
- [提供可行性脚本] RHEL/CentOS 7 多节点SSH免密登陆
实验说明: 在自动化部署时,会经常SSH别的机器去操作,然而每次的密码认证却很令人烦躁,尤其是很长的密码,因此SSH免密登陆就显得必不可少: 在机器数目很多的时候,使用更过的往往是Ansible分发并 ...
- 使用rsync基于ssh免密登陆进行备份或目录同步
日常工作中有很多的备份工作,rsync是一个很不错的工具,尝试使用基于ssh免密登陆的方式进行备份,测试成功,是可行且方便的方法,撰文记之,以备后用: 1.A主机root用户对B主机root用户做ss ...
- 【Linux】ssh-copy-id三步实现ssh免密登陆
一.本地机器上使用ssh-keygen产生公钥私钥对 ssh-keygen -t rsa -C "XXXX@163.com" --->执行完会在~/.ssh/下生成公钥私钥对 ...
随机推荐
- [Micropython]TPYBoard v10x MFRC522智能门禁系统
MF RC522 是应用于13.56MHz 非接触式通信中高集成度读写卡系列芯片中的一员.也就是射频卡. 经常忘带钥匙,最尴尬的上周竟然去开4楼的门,(家住五楼,无电梯),开了好一会没打开,事后对4楼 ...
- css中的行高line-height
“行高”顾名思意指一行文字的高度.具体来说是指两行文字间基线之间的距离.基线实在英文字母中用到的一个概念,我们刚学英语的时使用的那个英语本子每行有四条线,其中底部第二条线就是基线,是a,c,z,x等字 ...
- WBS 与 甘特图
WBS:工作分解结构(Work Breakdown Structure) 创建WBS:创建WBS是把项目 交付成果和项目工作分解成较小的,更易于管理的组成部分的过程. WBS是项目管理重要的专业术语之 ...
- Exchanger兄弟线程间数据信息交换
一.简述 Exchanger可以在两个线程之间交换数据,只能是2个线程,他不支持更多的线程之间互换数据.当线程A调用Exchange对象的exchange()方法后,他会陷入阻塞状态,直到线程B也调用 ...
- 【转】拍拍网2015年mysql最新开发规范
1.命名规范 (1)库名.表名.字段名必须使用小写字母,并采用下划线分割. (2)库名.表名.字段名禁止超过32个字符. (3)库名.表名.字段名必须见名知意.命名与业务.产品线等相关联. (4)库名 ...
- 基于微服务API级权限的技术架构
一般而言,企业内部一套成熟的权限系统,都是基于角色(Role)的 访问控制方法(RBAC – Role Based Access Control),即权限 (Permission)与角色相关联,用户( ...
- anguments
anguments是一个对象,长得很像数组的对象,但不是数组,而是伪数组. arguments的内容是函数运行时的实参列表 (function(d, e, f) { console.log(argum ...
- xp开机黑屏故障分析
今天装完xp系统之后,重启开机发现竟然黑屏了,查资料发现有很多用户在修改分辨率后,因显示器不支持修改后的分辨率,会出现电脑黑屏的情况.分辨率调高了,超出了屏幕的范围,肯定会黑屏,而且这个问题还挺麻烦, ...
- man.go 阅读笔记
import ( "flag" "fmt" "github.com/Sirupsen/logrus" &qu ...
- objectid.go源码阅读
)) } // func), ), ), ), ])<<])<<)]) } //获取])<<])<<])<<]), //转化为十进制的int ...