[Linux]私钥公钥对认证身份,实现免密登录

版权声明:无需授权即可转载,甚至无需保留以上版权声明... ... https://blog.csdn.net/qq_28296925/article/details/84070913

版权声明

本博文首发于:
CSDN 瑾兰https://blog.csdn.net/qq_28296925) 博客。
请注意:
无需授权即可转载;
甚至无需保留以上版权声明… …


一、情景

问题描述:

在使用java 或者 直接在linux系统中登录时,会有提示消息:是否保存地址信息,和输入密码。
认证身份有“私钥和公钥对”“用户名和密码”完成两台主机之间的身份认证。
为了解除这些繁琐的交互式命令和提高安全性,实现免密登录。下面来总结一下。

二、前提

所有的服务器 /etc/ssh/sshd_config文件以下三行都需要未被注释

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys

三、举例

两台服务器
192.168.3.151
192.168.3.152
免密登录是分用户的,以下是以root用为例,.ssh目录是每个用户的家目录下。

四、步骤

1、登录 192.168.1.151

执行命令 ssh-keygan -t rsa,一路回车到底。
将会在家目录 /root/.ssh下生成私钥 id_rsa和公钥id_rsa.pub

2、将公钥追加到远程机器上

将本机(192.168.1.151)的公钥(id_rsa.pub)追加到 192.168.3.152中的authorized_keys/root/.ssh/authorized_keys)文件中。
命令如下:

// 在本地151上执行,将文件传输到152上
scp /root/.ssh/id_rsa.pub 192.168.3.152:/root  
// 在152机器上执行,/root/目录下,将文件追加到authorized_keys   中 
cat  id_rsa.pub>>/root/.ssh/authorized_keys    
3、这时候 从192.168.3.151 登录到192.168.3.152 就不需要密码了。
4、若需要实现双向的,则继续执行以下步骤:

登录到192.168.3.152 执行上面相似的步骤即可。

5、注意事项

修改完/etc/ssh/sshd_config文件需要重启sshd服务。(systemctl restart sshd
追加公钥到服务器authorized_keys中,千万不要覆盖。
.ssh目录的权限为700authorized_keys权限为600


推荐文档:
▄︻┻┳══━一 1、 《id_rsa
▄︻┻┳══━一
▄︻┻┳══━一
▄︻┻┳══━一
▄︻┻┳══━一
▄︻┻┳══━一
▄︻┻┳══━一

猜你喜欢

转载自blog.csdn.net/qq_28296925/article/details/84070913