SSH免密登录的原理和使用

本文将介绍SSH免密登录(利用公钥登录)的原理和使用。
1. SSH简介
SSH,即(Secure Shell)。SSH协议使用加密来保证客户端和服务器端连接的安全。
SSH在用户认证中的使用,即SSH keys
。本文介绍其中一种认证方式——公钥登录。
2. 利用公钥登录的原理
客户端向服务器端发送连接请求,请求中携带了公钥指纹(fingerprint)
服务器端根据指纹判断在
authorized_keys
中寻找相应的公钥,若找到则加密一个随机字符串发送给客户端,客户端使用私钥进行解密并将结果发送给服务器端,服务器端进行结果验证,若解密结果与初始未加密随机字符串相同,则认证成功。
3. 利用公钥登录的使用
- 首先删除原有的
.ssh
目录:
Windows系统 .ssh
位于C:\Users\Administrator\.ssh
,直接删除即可。
Linux系统:
1 | cd ~ ##进入当前用户 |
- 利用
ssh-keygen
生产密钥对
参考文档如下:
https://www.ssh.com/academy/ssh/keygen
1 | ssh-keygen |
一直按enter就行,最终生成私钥 id_rsa
、公钥 id_rsa.pub
。
- Github使用SSH Keys免密登录。
在GitHub账户 Settings||SSH and GPG keys
中新建一个SSH key,将公钥 id_rsa.pub.
中的内容复制到其中。
之后,在进行push等操作时就可以跳过身份认证直接进行操作了。
此外,SSH keys还可用于其他地方,如Xshell免密登录远程服务器。除了用户认证外,SSH也广泛的应用于数据加密等。
- 本文标题:SSH免密登录的原理和使用
- 创建时间:2023-09-26 10:24:27
- 本文链接:2023/09/26/tool/SSH免密登录的原理和使用/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
评论