Author:赵志乾
Date:2024-07-12
Declaration:All Right Reserved!!!
1. 简介
SSH免密登录是一种基于公钥加密技术的安全认证方式,其原理如下:
- 生成密钥对:客户端生成一对公钥与私钥;
- 复制公钥:客户端将公钥复制到远程服务器的authorized_keys文件中;
- 连接请求:客户端连接远程服务器时,向服务器发送包含客户端公钥的连接请求;
- 验证公钥:服务器收到连接请求后,检查authorized_keys文件中是否存在匹配的公钥;
- 加密:若找到匹配公钥,服务器将生成一个随机字符串,并用该公钥进行加密,然后将加密后的内容发送回客户端;
- 解密并回传:客户端使用自己的私钥对加密内容进行解密,并将解密后的内容发送回服务器;
- 验证:服务器将收到的解密结果与之前生成的随机字符串比较,若两者匹配,则验证成功,允许客户端登陆。
2. 步骤
2.1 生成密钥对
在客户端机器上使用ssh-keygen命令生成一对密钥,包括一个私钥和一个公钥;默认情况下,密钥对保存在用户家目录下的.ssh文件夹下,私钥文件名为id_rsa,公钥文件名为id_rsa.pub;
2.2 复制公钥到服务器
将客户端生成的公钥复制到远程服务器的~/.ssh/authorized_keys文件末尾;
2.3 测试免密登录
在客户端机器上,使用如下命令即可登陆远程服务器;
ssh 用户名@服务器地址