ssh使用公私钥免密码登录

ssh使用公钥和私钥来登录远程主机

使用的命令为ssh-keygen,该命令具体使用方法可以参考博客:

http://killer-jok.iteye.com/blog/1853451

例如:

本地主机A 用户a。

目标主机B 用户b IP:192.168.0.11。

1、生成公钥和私钥

在主机A的命令行下输入如下命令:

[a@localhost ~]$ ssh-keygen -t rsa

然后三次回车

就会在/home/a下生成.ssh目录,里面包含两个文件:id_rsa和id_rsa.pub

id_rsa是本机上的私钥,id_rsa.pub是远程主机B上的公钥。

我们会把公有密钥交给服务端,当需要从服务端请求内容的时候,要带上私有密钥。此时,服务器会通过一定的算法计算私有密钥,并判断计算的结果是否与公有密钥一样,如果不一样则响应请求失败。

2、将公钥复制到目标主机B

使用scp命令

[a@localhost ~]$ scp .ssh/id_rsa.pub [email protected]:/home/b/
Password: 
id_rsa.pub             100%  406     0.4KB/s   00:00

 3、将公钥添加到authorized_keys授权文件中

使用ssh [email protected]登录B主机,输入命令

[b@B ~]$ cat id_rsa.pub >> .ssh/authorized_keys
[b@B ~]$ chmod 600 .ssh/authorized_keys

600是文件使用权限(只有属主有读写权限)。 

4、以上步骤完成,exit退出B,重新使用ssh命令登录不再需要密码。

猜你喜欢

转载自cning-cn.iteye.com/blog/2308625