Linux免密登录理解

linux有免密登录,这个功能在搭建hadoop集群时很有用,因为有了它远程启动集群或做其他操作就不需要一遍遍的输入密码了,参考博文下面记录一下。

公钥私钥对

linux下通过ssh-keygen -t rsa命令可以在本机生成一对公钥私钥对(使用的是rsa非对称加密算法,rsa是三个数学家的名字首字母),保存在~/.ssh下。如下图是设置了免密登录的机器上保存的结果。

(1)id_rsa:秘钥,刚开始会生成

(2)id_rsa.pub:公钥,刚开始和私钥一起生成

(3)authorized_key:记录来访的其他服务器公钥,只有成对生成的私钥才能解密公钥加密的内容,刚开始没有此文件

(4)known_hosts:记录来访的其他服务器的信息,一般通过ssh,scp和ssh-copy-id命令会记录,刚开始没有此文件

设置免密登录

设置免密登录需要使用ssh-copy-id [email protected]服务器ip地址命令来设置,使用此命令后会将当前机器A的公钥发送到对方B,并保存在对方~/.ssh的authorized_key文件中,这样A就可以免密登录B,初次登录会有提示你确认要访问吗,当第一次连接后,B服务器上会生成known_hosts文件,保存A机器的信息,这样下次A免密登录B就不再提示。

免密登录原理

以下是免密登录原理示意图,可以看出A如果想免密登录B,需要将A机器上生成的公钥发送B,同理如果B想免密登录A,同样需要将B机器上的公钥发送A。

以上是对linux下ssh免密登录的理解,感谢博主的文章。

参考博文:

https://www.cnblogs.com/zqj-blog/p/10445598.html ssh连接原理和免密登录都可以参考

原文地址:https://www.cnblogs.com/youngchaolin/p/11706692.html

时间: 2024-08-28 19:18:25

Linux免密登录理解的相关文章

linux免密登录

引言:最近在尝试使用gitlab-runner来实现CI/CD功能,期间需要远程执行shell命令,由此引出免密登录,此前也做过,只是记忆不佳,导致本次做的时候又忘记了,故而在此做一个记录,便于日后查阅,也供有需要者参考,若有不足之处,敬请斧正. 场景描述:现有A.B两台linux机器,A需要在B上远程执行shell脚本.(注意:此处linux为centos) 解决步骤: 1.在A机器生成密钥,执行以下命令: ssh-keygen -t rsa //生成密钥 2.拷贝A机生成的公钥 id_rsa

linux 免密登录

Linux初窥:Linux下SSH免密码登录配置 根据上述文章进行配置完成. 需求:两台机器A.B,实现从A机器上免密登录至机器B 思路是: 1.A机器上使用ssh-keygen -t rsa 生成秘钥(无密码).生成在指定路径下的id_rsa.pub文件. 2.将A机器上的id_rsa.pub中最后生成的秘钥,拷贝至B机器上的authorized_keys文件里. 3.A机器上配置host,指定B机器的信息. 4.测试,从A机器上,直接ssh 命令至B机器上. 如果要想实现A-B机器互相免密登

linux 免密登录常见问题

1,免密场景 很多用户和场景是需要实现机器之间 用户免密登录的.例如hadoop 集群,oracle rac等等. 2,常规免密操作 ----- 这种方式最简单直接,但是是2点之间的 机器A: 192.168.1.1 机器B:  192.168.1.2 需求:要求在机器A 上可以使用root用户免密登录到机器B(注意,这里登录B 也是使用的root用户) 步骤: (1),机器A上创建自己的ssh 秘钥 ssh-keygen -t rsa -P ''  一路回车就好 (2),将自己的公钥给到目标机

linux免密登录和设置别名

一.免密登录 (1) 配置公钥   ssh-keygen (2)让远程服务器记住公钥   ssh-copy-id   用户名@ip地址或域名 二.设置别名 (3)在~/.ssh目录下创建并编辑config文件   vim config(centos)   vim config(ubuntu)    (4)config文件内容   Host   主机名 HostName   ip地址 User   用户名   Port   端口号 附:输入ssh-keygen命令后一路回车即可 别名设置完成后,使

rhel7免密登录问题

以前在做linux免密登录时只要执行:cat id_rsa.pub>> authorized_keys,就可以了 后来升级到rhel7之后不行,发现有两个需要改动: 1.修改ssh的配置文件/etc/ssh/sshd_config ,去掉两个参数的注释 PubkeyAuthentication yes(去掉注释#) AuthorizedKeysFile .ssh/authorized_keys (rhel7.5默认是没有注释的,检查一下即可) RSAAuthentication yes(rhe

linux(十)配置ssh免密登录实现

知道ssh的朋友应该知道它是用来干什么的,如果你不知道什么是ssh远程登录的话,可以去看一下我的上一篇博客,关于linux的网络基础的知识.备注:ssh是用于远端登入.执行ssh指令开启终端机阶段作业,并登入远端主机. 一.ssh远程登录 今天要和大家说的是,当我们一台客户机要远程登录到服务器的时候,输入密码才能登录成功. 过程流程图: 所以我们在想能不能我们不需要输入密码,直接使用ssh 用户名@服务器ip就可以登录呢? 二.ssh免密登录原理 看到这个图可能大家有一点蒙逼.我给大家解释一下.

Linux 集群使用 Shell 脚本自动完成免密登录

在部署 Linux 集群环境的时候,时钟同步 (NTP) 必定用到,而某些时候可能也需要用到主机免密登录,5 节点以下还可以手动配置,但如果节点规模较大,则需要考虑自动化了. 使用 Shell 脚本简单快速,上手容易. 代码如下,请自行按需要修改,比较容易理解. #!/bin/bash # by liuxg # 2019.05.15 # passwdless.sh # echo # -n 不要在最后自动换行 # -e 处理特殊字符 # expect是一个免费的编程工具语言,用来实现自动和交互式任

基于vagrant工具在win7下免密登录linux

一.SSH加密方式 SSH采用的是"非对称密钥系统",即耳熟能详的公钥私钥加密系统,其安全验证又分为两种级别. 1. 基于口令的安全验证 这种方式使用用户名密码进行联机登录,一般情况下我们使用的都是这种方式.整个过程大致如下: (1)客户端发起连接请求. (2)远程主机收到用户的登录请求,把自己的公钥发给客户端. (3)客户端接收远程主机的公钥,然后使用远程主机的公钥加密登录密码,紧接着将加密后的登录密码连同自己的公钥一并发送给远程主机. (4)远程主机接收客户端的公钥及加密后的登录密

【Linux】ssh免密登录

一.ssh免密配置 ssh 无密码登录要使用公钥与私钥.linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例. 有机器A(192.168.1.155),B(192.168.1.181).现想A通过ssh免密码登录到B. 1.在A机下生成公钥/私钥对. [[email protected] ~]$ ssh-keygen -t rsa -P '' -P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车.它在/home/chenlb