SSH登录和SSH免密登录

article/2025/9/20 10:42:34

在了解ssh的时候产生了概念混淆,发现ssh登录和ssh免密登录是两码事。
可以从目的过程对比这两个概念:

1.目的

1.1 SSH登录

简单来说就是:建立客户端和服务器之间安全的远程连接,登录远程服务器,以访问文件系统 。

1.2 SSH免密登录

免密登录远程服务器,即在客户端和服务器之间建立免密的ssh连接,重点在于免密

2.实现过程

2.1 SSH登录

1.用户发送登录请求到服务器,服务器返回自己的公钥给客户端;
2.客户端使用服务器的公钥对用户名和密码进行加密,并发送给服务器;
3.服务器使用自己的私钥解密收到的数据,并验证用户名和密码是否正确。
4.如果验证成功,服务器允许客户端连接。
请添加图片描述
注意:这个过程是需要用户名和密码的,只是使用ssh免于密码明文暴露在网络环境中(因为使用了服务器的公钥加密,也就只有服务器的私钥才能解密)。

2.2 SSH免密登录

预备工作:

1.在免密登录之前,用户需要先在本地计算机上生成一对密钥(公钥和私钥)。
2.用户将本地计算机上的公钥上传到目标服务器,添加到服务器的~/.ssh/authorized_keys文件中。

登录过程:

1.当用户尝试使用SSH连接服务器时,客户端会发送登录请求给服务器,并在请求中携带本地计算机的公钥。
2. 服务器在authorized_keys文件中查找匹配的公钥(在预备工作中上传到服务器的本地公钥),如果找到匹配的公钥,服务器会生成一段随机数据,并使用该公钥对数据进行加密。
3. 服务器将加密后的数据发送回客户端。
4. 客户端使用本地计算机上的私钥解密收到的数据。
5. 如果解密成功,客户端将解密后的数据发送回服务器进行验证。
6. 如果服务器验证成功,则服务器允许客户端免密登录。

注意:这个过程并不需要密码,只需要提前在服务器上传客户端的公钥。
另外,只有客户端私钥成功解密服务器发送来的随机数之后才能登录到服务器,因为这样那些只有公钥没有私钥的伪客户端就无法登录服务器啦。

SSH登录存在的问题

回顾SSH登录过程,用户向目标服务器发送登录请求时,目标服务器会返回一个公钥,用户使用该公钥加密自己的密码后上传给目标服务器。
但是假设用户向目标服务器发送登录请求时,有人截获了登录请求,伪装成目标服务器把自己的公钥发送给用户,用户就会用假的公钥加密自己的数据,密码就会被伪装者获取。
关键是因为,用户无法判断服务器发来的公钥是否是安全的,即是否真的是目标服务器发送来的。因为SSH的公钥是没有CA公证的。这里可以去了解一下SSL。


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

相关文章

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;回复【学习路线图】获取学习路线图。 文章目录 一、登录…

十六、退出登录

用户只需要向Spring Security项目中发送/logout退出请求即可。 1.退出实现 实现退出非常简单&#xff0c;只要在页面中添加/logout的超链接即可。 <a href"/logout">退出登录 为了实现更好的效果&#xff0c;通常添加退出的配置。默认的退出url为/logout&#…