一、环境

机器A192.168.1.135

机器B192.168.1.128

操作系统:ubuntu14.04


二、SSH连接原理概况

私钥文件:id_rsa

公钥文件:id_rsa.pub

1ssh server端接受到用户端登录请求后,下发自己的公钥给用户端

2、用户端使用接受到公钥将登录密码进行加密,再发送回给ssh server

3、给ssh server端用自己的私钥进行解密登录密码,如密码正确则同意登录


测试一、机器通过SSH连接机器B无需输入密码

1、在机器A生成一对密钥

root@testweb01:~# ssh-keygen

77DA79F43CFE42C1A227BD1D6906B960

 

2、进入机器A  root用户家目录的隐藏ssh目录

81A72B0B4D90455B916A5E7FB92233C7

Id_rsa文件是私钥

Id_rsa.pub是公钥

 

3、将机器A的公钥(文件:Id_rsa.pub)里面的内容copy到机器B

3.1、查看机器A的公钥文件,且选中内容复制

492800DDE1E54DEAB777B5A83F8A6C7A

3.2、来到机器B后,进入root用户家目录的隐藏ssh目录

3.2.1、创建authorized_keys文件(如果有的话无需创建)

root@web02:~# cd .ssh/

root@web02:~/.ssh# touch authorized_keys

509B6BCA7ABE429F9F44AA763105F8BA

3.2.2、粘贴机器A的公钥文件的内容到机器B里的authorized_keys文件(粘贴后如下图)

EF6B6FBA2E8349F2ABA951C6FF7DFC1F

 

3.2.2.1、上面的拷贝公钥的方式过于繁琐,改进如下

在管理节点上将公钥传送到被管理节点上

root@mysql02:~/.ssh#ssh-copy-id root@192.168.1.135

说明:这种方式无需手工去创建authorized_keys文件,无需手工copy,会自己生成。


3.3、测试机器A通过SSH连接到机器B

E4AF4A6E652D4E398D9FDF56D7386A56

测试结果:没有提示输入密码,证明配置成功