Linux系统的ssh rsa免密登录的两种方式及原理(精)

本文详细介绍了SSH密钥对的生成及两种登录方式:将公钥放入远程服务器的authorized_keys文件中实现免密登录,以及使用远程服务器的私钥文件直接登录。建议首选方式一是更安全的选择,因为可以随时删除授权公钥来限制访问。
摘要由CSDN通过智能技术生成

一、 本文目的
大部分文章只讲解了公钥登录的方式,用的时候不少人对选择公钥还是私钥感到困惑。
本文着重说明白秘钥的使用两种方式,解决到底是发公钥还是发私钥的问题。

二、生成秘钥对
生成rsa秘钥对,这个可以在本机和远程主机任意一台生成,生成命令

cd ~/.ssh && ssh-keygen -t rsa -N "" -f id_rsa -q

得到两个文件,公钥和私钥都是相对于执行命令的这台linux服务器而言的

id_rsa 私钥文件,比较长
id_rsa.pub 公钥文件,比较短

三、A免密登录B的两种方式
比如A要登录B服务器

  • 方式一,把A的公钥pub文件,放在B的~/authorized_keys文件中

打开A的id_isa.pub的文件,复制并粘贴如文件的最下方,不要带多余的空格和其他符号

vim  ~/authorized_keys   把内容插入底部

authorized_keys文件里保存了其他人的公钥列表,代表这些服务器可以直接登录自己。
通过ssh 就可以直接登录

 ssh root@B的ip

命令执行过程:A会用自己的.ssh/目录下的私钥文件,例如 id_rds进行加密登录。而B会用自己authorized_keys保存的公钥内容进行解密,如果解密成功。就认为A是合法用户,让A免密登录。注:所以A的目录下必须有id_rsa文件。

  • 方式二、下载B的私钥文件,生成pem文件

新建一个pem文件,把B的private内容粘贴进去

利用ssh命令即可登录

ssh -i b的私钥.pem文件 root@B的ip地址

B的私钥文件(原本只能B自己知道)给了A,证明B足够信任A,A可以直接登录B

命令执行过程:A会用
-i指定的私钥文件(这里就是B的私钥文件)加密,B在自己的authorized_keys中用自己的公钥文件解密。如果成功,就认为A是合法用户,让A免密登录。

两者如何选择

第一次的时候可以使用方式二
建议使用方式一、更加安全。无论谁拥有过B的私钥都可以直接登录,这样太不安全了。而方式一,B可以随时移除A的公钥,就可以随时拒绝访问。

总结
使用秘钥免密登录一直对公钥和私钥混淆,两者确实有很多相似的地方。上面两种方式都可以登录,登录的过程主要是利用rsa进行身份识别,所以使用公钥和私钥都可以达成目的。两者加密的信息本身就是互认的。

上面两种方式本质一样,无非是到底用那一对公钥和私钥加解密

文章知识点与官方知识档案匹配,可进一步学习相关知识
————————————————
版权声明:本文为CSDN博主「如何在5年薪百万」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kouryoushine/article/details/124084878

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值