linux免密登陆

一、概述

1、就是为了让两个linux机器之间使用ssh不需要用户名和密码。采用了数字签名RSA或者DSA来完成这个操作

2、模型分析

假设A(192.168.20.59)为客户机器,B(192.168.20.60)为目标机;

要达到的目的:

A机器ssh登录B机器无需输入密码;

加密方式选rsa|dsa均可以,默认dsa

二、具体操作流程

单向登陆的操作过程(能满足上边的目的):

1、登录A机器

2、ssh-keygen-t[rsa|dsa],将会生成密钥文件和私钥文件id_rsa,id_rsa.pub或id_dsa,id_dsa.pub

3、将.pub文件复制到B机器的.ssh目录,并catid_dsa.pub>>~/.ssh/authorized_keys

4、大功告成,从A机器登录B机器的目标账户,不再需要密码了;(直接运行#ssh192.168.20.60)

双向登陆的操作过程:

1、ssh-keygen做密码验证可以使在向对方机器上ssh,scp不用使用密码.具体方法如下:

2、两个节点都执行操作:#ssh-keygen-trsa

然后全部回车,采用默认值.

3、这样生成了一对密钥,存放在用户目录的~/.ssh下。

将公钥考到对方机器的用户目录下,并将其复制到~/.ssh/authorized_keys中(操作命令:#catid_dsa.pub>>~/.ssh/authorized_keys)。

4、设置文件和目录权限:

设置authorized_keys权限

$chmod600authorized_keys

设置.ssh目录权限

$chmod700-R.ssh

5、要保证.ssh和authorized_keys都只有用户自己有写权限。否则验证无效。

转自: http://www.2cto.com/os/201311/255604.html

相关推荐