Linux SSH 免密登录

article/2025/9/20 10:44:09

Linux SSH 免密登录

本篇我们来 看看 Linux 的免密登录的原理 以及实际操作一番

image-20220518202242969

概述

什么是 Linux SSH 免密登录,我觉得大家应该都 多少听过 或者操作过,那你真的理解整个免密登录的过程吗?

Linux SSH 免密登录 就是 可以不输入密码 就可以通过SSH 远程连接到 服务器了

1.SSH 免密登录原理

image-20220518200218509

通过上面的图解流程 可以大致分为下面几步,A 作为Client端 B作为 Server端

  1. A -> B A免密登录B
  2. 在A上生成公钥私钥。
  3. 将公钥拷贝给server B,要重命名成authorized_keys(从英文名就知道含义了)
  4. Server A向Server B发送一个连接请求 请求包括 A的 用户名和IP
  5. Server B得到Server A的信息后,在authorized_key中查找,如果有相应的用户名和IP,则随机生成一个字符串,并用Server A的公钥加密,发送给Server A
  6. Server A得到Server B发来的消息后,使用私钥进行解密,然后将解密后的字符串发送给Server B。Server B进行和生成的对比,如果一致,则允许免登录。

2.SSH 免密登录实验

假设我有一台服务器 它的 ip 是 139.198.189.160 ,我现在想通过 本机进行免密登录这台机器

2.1 生成公钥私钥

-f 指定文件 -t 类型 -C 指定邮箱

ssh-keygen -t rsa -f ~/.ssh/id_rsa_test   -C "zhangqiang@163.com"

image-20220518201238480

可以看到 已经生成了 公钥 id_rsa_test.pub 和 私钥 id_rsa_test

image-20220518201314849

2.2 把公钥copy到 服务器 ~/.ssh/authorized_keys

可以追加到 ~/.ssh/authorized_keys 文件的最后面

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQD5jfom6Qts6tjpOAZwde2tWK9/MrKqCKgOd4Y/YILVD4nnvhs2X15N0VyWyZrVrqrUpyG7l3jEspbQxJHNJ9k80NbJqW5EyRernXCpoFICmUnfJnu3VYyBxyKxa1wa7/1xNKq3EEdVGmR2rcajVljfyo4ErPP6NrTbxCa0Do9mmXh2XiEdvrTogSud1c1c/+d7WOwiosD++y9ZxErwZkqBvxfimMTjfsrxTvZ8CIdhAS2THZeuVtFgpxS3TVdt1oXw/BOYsE8kjgZCZ/g0Sbm7w4ZHhKqvO+3q3tSarZyUnkEpeHLWztoH7GUaDjJrqrImlwubt9dzhlV446uefYXxq7WBVKbrGkhSkGN6pKp5xnSkQw0zGAPzieSslvd+0LLPGJ0uIqSq9h5TVGDMVcN2NmASBPB/e4jYzUBTr6hvhvRWPq7HoGSBUoeLYtQiNjUxc8SVSBkofJEoydsTzwlP8/yqBp4mGqyZgSRoBRALflXpCkNBa1HNiRujazxFsSU= zhangqiang@163.com

2.3 测试登录

此时发现 它还是需要我们输入密码 这是为什么呢?因为这时候 你的 私钥还没有 ssh-add 添加到高速缓存中

image-20220518201616952

2.4 ssh-add 私钥

ssh-add命令是把专用密钥添加到ssh-agent的高速缓存中

image-20220518201746505

注意 私钥的权限一定要是 600 ,否则会报错 ,可以通过 chmod 600 ~/.ssh/id_rsa_test 更改

image-20220518201912573

2.5 再次测试登录

可以看到已经成功免密登录了

image-20220518201956879

总结

本篇主要讲解了 Linux SSH 免密登录的原理,以及实际操作了一把 ,注意 本地 私钥的权限一定要是 600 ,否则会报错 无法 ssh-add 进高速缓存中。

欢迎大家访问 个人博客 Johnny小屋


http://chatgpt.dhexx.cn/article/wQfCBdfB.shtml

相关文章

SSH登录和SSH免密登录

在了解ssh的时候产生了概念混淆,发现ssh登录和ssh免密登录是两码事。 可以从目的和过程对比这两个概念: 1.目的 1.1 SSH登录 简单来说就是:建立客户端和服务器之间安全的远程连接,登录远程服务器,以访问文件系统 。…

VSCode——SSH免密登录

文章目录 本地PC端(一般为Windows)1. 检查自己是否已经生成公钥2. 配置VScode的SSH config 远程服务器端1. 服务器新建授权文件2. 赋权限3. 重启远程服务器的ssh服务 最全步骤:【设置ssh免密不起作用?彻底搞懂密钥】vscode在remot…

SSH免密登录功能配置

文章目录 一、SSH免密登录功能配置(1)master虚拟机免密登录master虚拟机(2)将公钥拷贝到所创建的虚拟机上 一、SSH免密登录功能配置 ssh密钥登录比密码登录安全,主要是因为他使用了非对称加密,登录过程中需…

CentOS开启SSH免密登录

CentOS开启SSH免密登录 要实现SSH免密登录,首先需要准备一组公钥和私钥。将公钥放到服务器上,将私钥放到客户机上。当客户机连接服务器时,服务器会根据自身的公钥校验客户机的私钥,如果校验通过则允许连接。 一、创建密钥 在客…

Ubuntu开启SSH免密登录

Ubuntu开启SSH免密登录 要实现SSH免密登录,首先需要准备一组公钥和私钥。将公钥放到服务器上,将私钥放到客户机上。当客户机连接服务器时,服务器会根据自身的公钥校验客户机的私钥,如果校验通过则允许连接。 一、创建密钥 在客…

git SSH免密登录

git系列文章目录 第八章 git SSH免密登录的使用 文章目录 git系列文章目录前言一、生成密钥二、使用步骤1.使用VSCODE打开.pub文件复制其中的内容2.打开github或者gitee进入设置选项设置密钥3.使用密钥 总结 前言 虽然Windows系统提供了凭据功能,但是介绍ssh提交&a…

配置SSH免密登录

配置SSH免密登录 1. 在各个虚拟机(master、s1、s2)家目录执行ssh-keygen -b 1024 -t rsa,输入2次回车,输入y/yes再继续回车 ssh-keygen -b 1024 -t rsa 2. 进入到.ssh目录中 ls -all #查看所有文件和文件夹 cd .ssh 查看目录 ls…

SSH免密登录原理

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 SSH免密登录原理 前言一、配置ssh二、无密钥配置1、免密登录原理2、生成公钥和私钥3、将公钥拷贝到要免密登录的目标机器上 三、.ssh文件夹下(~/.ssh)…

ssh免密登录

两台设备,第一台设备作为客户端,第二台设备作为服务端,在第一台使用一个用户免密登录第二台设备。 在第一台设备输入命令: ssh-keygen -t rsa -b 2048 输入命令执行后遇到选项可以选择默认,敲Enter继续执行便可 然后把…

VSCode SSH 免密登录

前提 VSCode 已经安装 Remote - SSH 插件,并且可以通过密码登录远程主机 步骤 假设 VSCode 运行在 Windows,SSH 远程登录 Linux 1、在 Windows 端生成公钥/私钥对 例如在 git bash 中运行 ssh-keygen,然后一路回车,直到出现下面…

SSH免密登录配置

免密登录命令: 1.进入.ssh目录: cd ~/.ssh 2.生成一对密钥: ssh-keygen -t rsa 3.发送公钥: ssh-copy-id 192.168.xx.xxx 4.免密登录测试: ssh 192.168.xx.xxx 目录 一、免密登录原理 二、配置ssh 1.查看 .…

SSH配置免密登录方法

转载自https://blog.csdn.net/jeikerxiao/article/details/84105529 1.客户端生成公私钥 本地客户端生成公私钥:(一路回车默认即可) ssh-keygen上面这个命令会在用户目录.ssh文件夹下创建公私钥 cd ~/.sshls下创建两个密钥: id…

Jwt登录退出

1.登录获取用户信息并写入token Overridepublic CommonResult loginV2(RcSysUserEntity byAccount) {log.info("********************");log.info("******************** account-V2:{}",byAccount.getAccount());log.info("********************&quo…

注册、登录、退出登录

运营商系统登录与安全控制 2.1需求分析 完成运营商登陆功能 (1)、登录页面 (2)登录后页面 (3)、点击右上角头像后显示。 2.2登陆功能的实现 2.2.1配置文件 (1)修改mall-manager-web的pom.xml ,添加依赖 <!-- 身份验证 --> <dependency> &l…

小程序登录与退出登录

主要是通过在storage中缓存userInfo与清空userInfo的信息来实现登录与退出登录 wxml&#xff1a; <view class"setting"><view class"setting_thr" bindtap"login">登录</view></view><view class"setting&qu…

前端新用户注册,登录,退出登录功能实现

目录 新用户注册功能 用户登录功能 用户退出登录功能 新用户注册功能 基本思路&#xff1a; 将用户的信息通过接口存入数据库&#xff0c;接口会返回是否存入成功 使用elementui做表单验证 代码如下&#xff1a; <template><div class"register">&…

Linux的登录和退出

1. 图形用户界面的登录和退出 图形用户界面&#xff0c;直接输入用户名密码即可登录。 在终端中输入init 0命令即可关闭系统。或者我们点击这里&#xff1a; 2.命令行界面登录和退出 Linux提供了6个虚拟控制台&#xff0c;通过按键盘CtrlAltF[1~6]来切换。如图&#xff0…

登录退出页面

一.登录业务流程 1、在登录页面输入用户名和密码 2、调用后台接口进行验证 3、通过验证之后,根据后台的响应状态跳转到项目主页 二.登录业务的相关技术点 1、http是无状态的 2、通过cookie在客户端记录状态 3、通过session在服务器端记录状态 4、通过token方式维持状态(解决跨…

token清除,退出登录

当我点击的时候&#xff0c;并没有打印任何地方应该打印的console.log(111),这时候应该检查一下自己的标签&#xff0c;我的错误在于a标签并没有删掉herf所以并没有出发点击事件&#xff0c;后面的这一切流程都没有走&#xff0c;但是我比较疑惑的一点是为啥之前并没有删掉herf…

Java退出登录功能

有志者&#xff0c;事竟成 文章持续更新&#xff0c;可以关注【小奇JAVA面试】第一时间阅读&#xff0c;回复【资料】获取福利&#xff0c;回复【项目】获取项目源码&#xff0c;回复【简历模板】获取简历模板&#xff0c;回复【学习路线图】获取学习路线图。 文章目录 一、登录…