SSH的架构
SSH的架构为客户端-服务器架构,向服务器发出请求的部分,称为客户端(client),OpenSSH 的实现为 ssh;接收客户端发出的请求的部分,称为服务器(server),OpenSSH 的实现为 sshd。
ssh的登陆流程:
- 客户端使用ssh-keygen命令生成公钥和私钥
- 手动将公钥复制到服务器上
- 客户端向服务器端发送请求
- 服务器端收到客户端发送的请求之后,发送一些数据给客户端,要求客户端证明身份
- 客户端收到数据之后使用私钥进行签名,并发送给服务器
- 服务器端收到客户端发送的加密签名数据之后,使用公钥进行解密,然后对比原始数据,一致的话就允许客户端进行登录
使用SSH
1、创建公钥,打开终端输入命令行
ssh-keygen -t rsa -C "xxx.xx@xxx.com"
b:指定秘钥的二进制位数。参数越大,秘钥越难破解,当然解密开销也会更大
-t:参数用于指定生成秘钥的算法
-C:指定密匙文件的注释
2、打开公钥
cat ~/.ssh/id_rsa.pub
得到一段编码:
3、手动上传公钥到服务器
配置之后如果在SSH登录过程中显示失败,记得配置ssh_config。