首页 > 代码库 > ssh无密码连接

ssh无密码连接

基于密钥的连接:实现不输入密码登录远程主机,是相对于用户来说的

公钥(Public Key)与私钥(Private Key)

--是通过一种加密算法得到的一个密钥对

--公钥是密钥对中公开的部分。公钥由本人公开,用于加密和验证签名,是给别人用的。

--私钥则是非公开的部分。私钥用来进行解密和签名,给自己用。

--通过这种算法得到的密钥对能保证在世界范围内是唯一的。

--使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。

--当该用户发送文件时,用私钥签名,别人用他给的公钥解密,可以保证该信息是由他发送的。即数字签名。

--当该用户接受文件时,别人用他的公钥加密,他用私钥解密,可以保证该信息只能由他接收到。可以避免被其他人看到。

--如果是对称加密算法就一样;如果是非对称加密算法,公钥和私钥是不一样的。


注:如果你想在远程连接某台机器不输入密码的话,那么就将自己的公钥拷贝给它。

如果对方改密码了,不影响访问,因为文件里存的不是密码,是指纹信息字符串,就不走密码验证了。

如果想互相访问无密码,那么就互相把公钥给对方即可。

具体实验:


实验环境:

node1:192.168.0.100

node2:192.168.0.102



2、在node1生成密钥对

[oracle@leopard ~]$ ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/home/oracle/.ssh/id_rsa): <--空

Created directory ‘/home/oracle/.ssh‘.

Enter passphrase (empty for no passphrase): <--空

Enter same passphrase again: <--空

Your identification has been saved in /home/oracle/.ssh/id_rsa.

Your public key has been saved in /home/oracle/.ssh/id_rsa.pub.

The key fingerprint is:

1f:b8:c3:c0:8c:69:a4:76:02:38:1a:1e:ed:06:06:30 oracle@leopard.uplook.com

The key‘s randomart image is:

+--[ RSA 2048]----+

|E                |

|o..              |

|=+ ..            |

|+++o =   .       |

|..+o= + S .       |

| ..+   o o .      |

|        + .     |

|         .     |

|                 |

+-----------------+


[oracle@leopard .ssh]$ pwd

/home/oracle/.ssh

[oracle@leopard .ssh]$ ls

id_rsa(私钥)  id_rsa.pub(公钥)


#使用证书登录ssh

 ssh-keygen 生成公私钥

 一路回车

 进入~/.ssh

 ssh-copy-id -i id_rsa.pub root@192.168.0.102

     即将公钥存放到了172.16.5.88的~/.ssh/authorized_keys 目录下。

4、测试:

[oracle@leopard .ssh]$ ssh 192.168.0.102 --实现无密码连接

Last login: Tue Apr 14 13:21:57 2015 from 192.168.0.100

[oracle@localhost ~]$ 


本文出自 “12336320” 博客,请务必保留此出处http://12346320.blog.51cto.com/12336320/1898886

ssh无密码连接