一、ssh介绍
SSH公钥和私钥是用于SSH(Secure Shell)协议中的一对密钥,用于身份验证和安全通信。SSH是一种加密的网络协议,常用于在不安全的网络中安全地进行远程登录和执行命令。
公钥:
公钥是密钥对中公开的部分,可以安全地分享给任何人或存储在远程服务器上,没有泄露风险。
公钥通常用于加密会话密钥、验证数字签名或加密可以用相应的私钥解密的数据。
在SSH登录认证过程中,公钥被放置在远程服务器上用户账号的~/.ssh/authorized_keys文件中。当有客户端尝试连接服务器时,服务器会使用公钥来验证客户端发送的签名是否合法,以此确认远程登录用户持有对应的私钥。
私钥:
私钥是密钥对中非公开的部分,它必须保密,绝不能被泄露或分享给其他人。
私钥通常由SSH客户端软件生成并带有密码保护(可选)。
在SSH登录过程中,私钥被用来对服务端发起的挑战进行签名,进而证明客户端确实拥有对应的私钥。
工作原理:
客户端请求连接到SSH服务器。
服务器检查客户端是否提供了一个公钥。
如果客户端提供了一个公钥,服务器使用这个公钥生成一个随机数并发送给客户端作为挑战。
客户端使用私钥对这个挑战进行签名,然后将签名发送回服务器。
服务器用公钥验证这个签名,如果验证成功,