linux无密码登录

无密码登录原理:

w600

首先在Master上生成一个密钥对,包括一个公钥和一私钥,然后将所有的公钥复制到所有的Slave上。当Master通过SSH连接登录时,Slave会生成一个随机数并用Master的公钥对随机数进行加密,并发送给Master。Master通过收到加密数之后再用私钥解密,并将解密数回传给Slave,Slave确认解密数无误之后就允许Master进行连接了,这就是一个公钥认证过程。

我在本地搭建了三台虚拟机来测试免密登录,其中一台为Master,其余两台为Slave:

w400

IP分别为:

  • Master:192.169.10.154
  • Slave1:192.169.10.241
  • Slave2:192.169.10.20

第一步,Master上生成密钥对

ssh-keygen –t rsa –P ''

上述是生成无密码密钥对,询问其保存路径时直接回车采用默认路径。生成的密钥对:id_rsaid_rsa.pub。默认路径是:/home/work/.ssh,我的当前用户是work

第二步,把公钥拷贝到Slave上

此步骤需要现在Slave服务器上创建.ssh文件夹,然后进行文件拷贝:

scp id_rsa.pub work@192.169.10.241:/home/work/.ssh/authorized_keys

第三步,设置权限

Slave服务器上.ssh权限为700,authorized_keys权限为600

chmod 700 .ssh/
chmod 600 .ssh/authorized_keys

第四步,完成

现在就可以不用密码登录了:

ssh work@192.169.10.241

QQ20170803-144428@2x

相关

在这一部分自己之前也看过一些文章,收录如下:

发表评论

电子邮件地址不会被公开。 必填项已用*标注