ssh连接的时候客户端的公钥存在服务端的什么地方?

ssh连接的时候客户端的公钥存在服务端的什么地方?,第1张

客户端 ssh-keygen 产生公钥与私钥

服务端 /root/.ssh/authorized_keys 。ssh是隐藏文件夹 ,追加到 authorized_keys 文件最后

root的家目录/root /

其他用户 的家目录 /home/用户名/

为什么需要找回公钥呢?因为干了一件蠢事,因为ssh登陆服务器懒得输入密码,就准备把本机公钥 ~/.ssh/id_rsa.pub 添加到服务器的授权密钥 ~/.ssh/authorized_keys 里去,结果因为是临时随便搜的方法,拷贝的时候用的这个命令: scp ~/.ssh/id_rsa.pub 登录用户名@服务器域名:~/.ssh/ ,按下回车我就后悔了,这不是把服务器的公钥覆盖了么。赶紧测试一下是不是这样,比如 Github 一般都是设置ssh key登陆账号的,测试连接:

果然出事了。

意外的简单:

注意这样生成的公钥是没有注释的,一般在后面补上 空格+用户名@主机名 更好。

之前我还在担心无法找回,毕竟记得rsa是个对称的加密算法,能从私钥找回公钥岂不是反向也可?

赶紧补补课,比较重要的点是这几个:

所以,光有公钥或私钥都是不能直接计算出对方的,而rsa加密初始计算完成后只需要保留公钥私钥。但是,本机上在文件 id_rsa 其实保存了私钥公钥和生成密钥时的其他所有数据,用

就能方便地查看,其中就有modulus,publicExponent,privateExponent,prime1,prime2等等,对应于n, e, d, p, q。而且通常来说公钥都是固定的一个数字65537 (0x10001),所以找回公钥非常方便。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/756770.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-17
下一篇2023-08-17

发表评论

登录后才能评论

评论列表(0条)

    保存