Linux 通过RSA公钥实现SSH免密码登录

ssh 无密码登录要使用公钥与私钥。Linux下可以用用ssh-keygen生成公钥/私钥对。

有机器A,B(192.168.0.32)。现想A通过ssh免密码登录到B。

1.在A机下生成公钥/私钥对。

➜  ~  ssh-keygen -t rsa -P ''

-P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车。

该命令将在/root/.ssh目录下面产生一对密钥id_rsa和id_rsa.pub。

一般采用的ssh的rsa密钥:

id_rsa    私钥

id_rsa.pub 公钥

下述命令产生不同类型的密钥

ssh-keygen -t dsa

ssh-keygen -t rsa

ssh-keygen -t rsa1

2.把A机目录~/.ssh/下的所有文件复制到B机~/.ssh/目录下,先要在B机上创建~/.ssh 这个目录,用scp复制。

[xqzhang@PEKdev032 ~]$ mkdir .ssh

➜  ~  scp .ssh/* 192.168.0.32:/home/xqzhang/.ssh/

复制id_rsa.pub到authorized_keys文件里,

[xqzhang@PEKdev032 ~]$ chmod 700 .ssh

[xqzhang@PEKdev032 .ssh]$ chmod 600 *

由于还没有免密码登录的,所以要输入一次B机的root密码。

authorized_keys的权限要是600!!!

.ssh目录的权限要是700!!!

3.A机登录B机。

ssh -l xqzhang 192.168.0.32

第一次登录是时要你输入yes。

现在A机可以无密码登录B机了。

小结:登录的机子可有私钥,被登录的机子要有登录机子的公钥。这个公钥/私钥对一般在私钥宿主机产生。上面是用rsa算法的公钥/私钥对,当然也可以用dsa(对应的文件是id_dsa,id_dsa.pub)

猜你喜欢

转载自www.linuxidc.com/Linux/2016-09/135140.htm