很多人只是一味的为拿到ssh公钥而努力,往往却会忽略了ssh公钥与私钥背后的作用。 咱们在这里会花两分钟。 一分钟速通概念,一分钟教会你如何获取。
SHH 公钥 与 私钥 是基于非对称加密算法(如rsa、ed25519)生成的密钥对。 两者须配合使用,缺一不可。
当你想要远程连接服务器时,传统方式需要账号、密码登入。
有两个缺点: 1、需要频繁输入验证 2、可能被暴力破解、窃取,安全性不高。
生成ssh公钥与私钥后,可将公钥储存在其他平台、服务器上(github...),而私钥存储在本地。 当你尝试连接目标服务器时,大概会分成三步:
1、该服务器会向你的电脑发送,一段随机数据。 2、该数据会被本地ssh私钥签名。并在发回服务器 3、服务器会用你的公钥验证返回的签名是否正确。正确则可登入、否则不行。
重点是,私钥会一直在自己的电脑上,无法让坏人通过网络窃取。安全性高于密码。
咱们这个教程是在拥有Git的前提下进行的。
(拥有密钥的可以直接跳过)
$ ssh-keygen -t rsa -C "youremail@example.com"
在安装git的前提下,随机找一个文件夹(在桌面也行),右键打开Open Git Bash Here。
公钥是「门锁」,私钥是「唯一钥匙」:
理解这一点,才能真正用好 SSH 密钥,避免因私钥泄露导致的安全事故。
借鉴的技术博客:
1、Github配置ssh key的步骤(大白话+包含原理解释)