版权声明
本博文首发于:
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
目录的权限为700
,authorized_keys
权限为600
。
推荐文档:
▄︻┻┳══━一 1、 《id_rsa》
▄︻┻┳══━一
▄︻┻┳══━一
▄︻┻┳══━一
▄︻┻┳══━一
▄︻┻┳══━一
▄︻┻┳══━一