Linux/(centos、unix等)的ssh双向免密登录原理和实现
原理:
双向,顾名思义,双方互通,此处的意思是多台 linux 两两免密登录。
双向比单向多了些操作,单向只需把某一个linux的公钥发送给其他linux即可,而双向要实现集群中的每一台机器都保存其他所有机器的公钥。
步骤:假设你有两台机器,ip分别为A和B,
配置分为五步,如下:
1.非免密登录对方: //目的是自动生成.ssh文件夹
先执行cd这个命令到根目录下,然后执行如下命令登录:
ssh B //在A机器执行此命令,输入yes和B机器的用户密码登录B
ssh A //在B机器执行此命令,输入yes和A机器的用户密码登录A
之后分别执行exit命令退出,一定要退出。
2.生成公钥(以下命令在A和B机器都要执行):
cd .ssh/
如下命令生成公钥,默认会在~/.ssh/下生成id_rsa和id_rsa.pub。先检查一下机器.ssh文件夹下是否已有公钥,如果没有再执行:
ssh-keygen -t rsa(一直回车) //目的是生成公钥
-t 指定算法
-f 指定生成秘钥路径
-N 指定密码
3.拷贝公钥:
scp id_rsa.pub root@B:~/.ssh/authorized_keys //此命令在A机器执行,目的将公钥发送至B机器
scp id_rsa.pub root@A:~/.ssh/authorized_keys //此命令在B机器执行,目的将公钥发送至A机器
若对方.ssh下没有authorized_keys文件夹,以上命令执行后会自动生成,执行ls可查看。
4.授权: //目的是授权authorized_keys文件免密登录权限
chmod 600 authorized_keys
cd //返回根目录
chmod 700 .ssh
5.验证:
ssh B //在A机器执行此命令,看是否能免密登录B
ssh A //在B机器执行此命令,看是否能免密登录A
注:如果authorized_keys文件、HOME/.ssh目录或HOME/.ssh目录或HOME目录让本用户之外的用户有写权限,那么sshd都会拒绝使用 ~/.ssh/authorized_keys 文件中的key来进行认证的。
看懂了左手给你个栗子,给我关注点赞;看不懂右手给你个锤子,砸开脑壳看看有没有带脑子。
Linux/(centos、unix等)的ssh双向免密登录原理和实现的更多相关文章
- Hadoop起步之图解SSH、免密登录原理和实现
1. 前言 emmm….最近学习大数据,需要搭建Hadoop框架,当弄好linux系统之后,第一件事就是SSH免密登录的设置.对于SSH,我觉得使用过linux系统的程序员应该并不陌生.可是吧,用起来 ...
- CentOS下SSH远程免密登录服务器
.5服务器上配置,通过ssh远程免密登录192. 1.安装SSH,此处省略 2.生成公钥和私钥,生成的秘钥默认在/root/.ssh/文件夹里面 [root@localhost ~ ::&&a ...
- linux上ssh免密登录原理及实现
因为我的服务器集群需要回收日志到中央进行统一处理,所以需要建立ssh互信关系实现免密登录.关于ssh的使用大家可能都很熟悉了,我们今天主要来讲下ssh连接和免密登录的原理. scp 传输文件 scp( ...
- SSH配置免密登录
[参考文章]:linux服务器ssh免密码登录 [参考文章]:ssh分发秘钥时出现错误“Permission denied (publickey,gssapi-keyex,gssapi-with-mi ...
- ssh 制作免密登录(免密登录多台服务器)
场景:服务器B (192.168.1.101)免密登录A(192.168.1.100)服务器 1.登录服务器B ①生产公钥 ssh-keygen -t rsa Enter file in which ...
- Ubuntu安装openssh安装ssh、 免密登录、 创建新用户并免密登录
一.安装openssh sudo apt-get install openssh-server ssh localhost 二.免密登录 cd ~/.ssh ssh-keygen ...
- linux 生成密钥和公钥,实现免密登录
1. 在相应的用户根目录下生成密钥公钥,输入如下命令: ssh-keygen -t rsa 2. 直接三次回车:会生成两个文件:id_rsa / id_rsa.pub,分别为密钥和公钥 3. 打开公 ...
- Hadoop SSH+IP、SSH+别名 免密登录配置
1.为什么要进行 SSH 无密码验证配置? Hadoop运行过程中需要管理远端Hadoop守护进程,在Hadoop启动以后,NameNode是通过SSH(Secure Shell)来启动和停止各个Da ...
- centos 7 搭建git远程仓储 免密登录
第一步.安装git服务 yum install git 第二步.创建git用户 adduser git 第三步开启公钥验证 vi /etc/ssh/sshd_config 讲文件中的 #PubkeyA ...
随机推荐
- 开始System.out.println();
第一篇博客 我在逛别人的博客的时候,发现他们有些内容是写他们自己的人生,有些是关于技术方面的个人观点分享探讨,每当看到好的文章的时候,我已经习惯的去点击收藏.有的时候我也在想,我为什么就不能做一个输出 ...
- 前端Web APIs 二
day04 - Web APIs 学习目标: 能够说出常用的3-5个键盘事件 能够知道如何获取当前键盘按下的是哪个键 能够知道浏览器的顶级对象window 能够使用window.onload事件 能够 ...
- python练习 数字不同数之和+人名最多数统计
数字不同数之和 描述 获得用户输入的一个整数N,输出N中所出现不同数字的和. ...
- .net core学习笔记,组件篇:服务的注册与发现(Consul)初篇
1.什么是服务注册中心? 在学习服务注册与发现时,我们要先搞明白到底什么是服务注册与发现. 在这里我举一个生活中非常普遍的例子——网购来简单说明,网购在我们日常生活中已经是非常普遍了,其实网购中的(商 ...
- laravel核心Ioc容器
laravel容器和依赖注入 啥是Ioc容器,方便我们实现依赖注入的一种实现,也就是说依赖注入不一定需要控制反转容器,只不过使用容器可能会方便些. laravel通过向容器中绑定接口的具体实现,可实现 ...
- Selenium 如何复用浏览器【解决扫码登录等问题】
Selenium中复用已经打开的浏览器进行自动化测试,可以辅助我们解决某些登录需要扫二维码之后,才能进行的操作 目前只支持谷歌Chrome浏览器,那需要做哪些准备操作呢?往下看 1.windows和M ...
- Spine学习一 -渲染组件
一共有四个播放的组件: SkeletonAnimation:有点儿类似于 unity的 Animation,挂上一个spine资源,就可以跑了 SkeletonRenderer:SkeletonAni ...
- 再爆安全漏洞,这次轮到Jackson了,竟由阿里云上报
冤冤相报何时了,得饶人处且饶人.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习.关注公众号[ ...
- Beware of the encrypted VM
A friend of mine Megan told me that she got an error message as below screenshot when trying to open ...
- [Oracle/sql]查看当前用户名下有多少表 以及查看表字段信息
SQL> select table_name from user_tables order by table_name; TABLE_NAME ------------------------- ...