1.免密登录的原理
每台主机authorized_keys文件,该文件就是身份验证的钥匙,该文件里如果有另一台主机的公钥(id_rsa.pub),那么另一台主机就可以无密码登录该主机。
2.实现
2.1首先配置每个节点的hosts文件
linux 中 hosts 的目录是/etc/hosts
vim /etc/hosts
ip server1.test.com server1
ip server2.test.com server2
ip server3.test.com server3
2.2 在server1生成秘钥
ssh-keygen -t rsa
#较新的格式,从OpenSSH 6.5开始默认
私钥文件以 -----BEGIN OPENSSH PRIVATE KEY----- 开头
或者
ssh-keygen -t rsa -m PEM
#兼容性更好,特别是与旧系统
私钥文件以 -----BEGIN RSA PRIVATE KEY----- 开头
解释 ssh是远程连接的意思 Keygen就是注册机 -t rsa 就是指定算法为rsa

输入以上命令后,会让你确认生成文件的名字,我们一直点回车就会生成默认的名字
2.3了解文件
此时在 家目录的.ssh目录下,会生成两个文件 分别为
id_rsa (私钥) 和 id_rsa.pub (公钥),
原理: 把公钥发送到你要免密登录的机器上,并把他写入authorized_keys文件中,你就可以免密登录那台机器了。
2.4 实验是否可行
本身节点的 .ssh 文件下是没有 anthorized_keys文件的,所以我们可以创建也可以将id_rsa.pub(公钥)进行拷贝
拷贝id_rsa.pub文件并命名为anthorized_keys
cp id_rsa.pub authorized_keys
然后将该公钥再跨节点拷贝到你要免密登录的机器上
scp anthorized_keys acm@server2:/home/acm/.ssh/
acm为用户名
然后我们
ssh server2
发现可以免密登录了
3.补充
原理就是这样,同上在其他机器上同样操作,注意这里的 本机节点登录本机节点也是要密码的,我们也要把本身节点的公钥拷贝到anthorized_keys文件中。
可以用cat id_rsa.pub >> authorized_keys, 因为上面部分我是cp的所以第一台机器就没有进行此操作。
本文详细介绍了Linux系统中实现SSH免密登录的原理及步骤,包括编辑hosts文件、生成RSA密钥对、理解和操作authorized_keys文件,以及验证免密登录的过程。通过这些步骤,可以在不同节点之间轻松实现安全的无密码登录。
2015

被折叠的 条评论
为什么被折叠?



