通过添加公钥实现ssh免密登录服务器(authorized_keys、sshd_config)
发布日期:2021-06-30 21:12:44 浏览次数:2 分类:技术文章

本文共 1273 字,大约阅读时间需要 4 分钟。

目录


前言

今天就来搞懂通过添加公钥实现ssh免密登录服务器这件事儿!

正文

无论是你服务器开发人员,还是运维人员,在实际使用过程中,都会遇到这样的问题——我需要通过本地shell登陆远端的服务器。

首先,我们需要搞清楚这其中的原理:我们在本地生成本机的公钥和私钥,使用如下命令:

ssh-keygen -t rsa

一路回车即可。

最后,默认的公钥和私钥存储在本地目录下的 ~/.ssh 文件夹下。

使用相应的命令查看及其结果:

liuzhen:.ssh lz$ ls

id_rsa        id_rsa.pub    known_hosts

其中,公钥的内容可以给大家看一下(私钥要保留好呦!):

liuzhen:.ssh lz$ cat id_rsa.pub

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGHloOJMIfOmN7TCvKMsP6/

f8Kea08ZcgG76jDypPgfDFVRvalZtmfz9jNjyuCq6IIs4DbPiOrHTKUJ4gt+c/JxG4/DltG

dCZ1RI4nrKMm2KoLSHFKI/zLDfztM7K/UhR3zcufWTCY8AHPLIj69j9qa66naY61r+

iDcJ7I/3Jk4IQu/xYC/Ov5B933XO6r+U6SOoR/GVf1dKAlMS2SKwp2zMmoAgMIykm

Wv+TqGqAGBXg3AhWACLIJFZzu2+nsKj2a5NSBa5K9WqFmq2I92nyhStaKwRVUX

XUjGAMbSQdWa23fDL9O8eLGGTuBDAnLK1RcsF+kzT54NUOkd7HrZ lz@***.com

然后,我们把公钥交给另一台服务器,当本机去远程连接另一台服务器时,另一台服务器会使用公钥与本服务器的私钥配对,如果配对成功,就能连接成功。

那么,我们具体应该怎样操作呢?

请从如下几个方面考虑!

1. 确认.ssh目录权限必须是700

该目录的地址:

~/.ssh

截图参考: 

2. 确认authorized_keys文件权限必须是600

该文件的地址:

~/.ssh/authorized_keys

截图参考:

3. 修改StrictModes属性

默认StrictModes属性是 yes,需要修改成 no。

该文件的地址:

/etc/ssh/sshd_config

截图参考:

4. 启用AuthorizedKeysFile配置

配置项AuthorizedKeysFile默认是注释的,需要取消注释。

该文件的地址:

/etc/ssh/sshd_config

截图参考:

5. 重启ssh服务

执行如下命令来重启ssh服务:

service sshd restart 

然后,重试ssh登陆命令。 

6. 终极大招

执行如下命令:

ssh-copy-id root@172.31.*.123

福利

最后,送一波儿福利。。。

福利一

华为云免费服务器(一个月)

 

福利二  

《7天轻松入门Python》

福利三

 

 

转载地址:https://liuzhen.blog.csdn.net/article/details/111510959 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:《WebRTC工作原理精讲》系列-总览
下一篇:C++面试常见问答题看这三篇文章就够了(下)

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月23日 10时10分19秒