SSH基于Key验证及加快SSH连接速度

SSh服务登录的验证方式:

 基于口令的安全验证

1、客户端发起ssh请求,服务器会把自己的公钥发送给用户

2、用户会根据服务器发来的公钥对密码进行加密

3、加密后的信息回传给服务器,服务器用自己的私钥解密,如果密码正确,则登录成功

注:不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。

 基于密匙的安全验证

1、先在客户端生成一对密钥(ssh-keygen),并将客户端的公钥ssh-copy-id 拷贝到服务端

2、当客户端再次发送一个连接请求,包括ip、用户名

3、服务端得到客户端的请求后,会到authorized_keys中查找,如果有响应的IP和用户,就会随机生成一个字符串,例如:acdf

4、服务端将使用客户端拷贝过来的公钥进行加密,然后发送给客户端

5、得到服务端发来的消息后,客户端会使用私钥进行解密,然后将解密后的字符串发送给服务端

6、服务端接受到客户端发来的字符串后,跟之前的字符串进行对比,如果一致,就允许免密码登录

CentOS 6为客户端  192.168.40.130

Centos 7为服务端  192.168.40.129

一、在客户端生成密钥对

SSH基于Key验证及加快SSH连接速度

默认为rsa算法 

ssh-keygen -t dsa     以dsa算法生成密钥对

SSH基于Key验证及加快SSH连接速度

二、把公钥文件传输到服务器上要登录用户家目录下

SSH基于Key验证及加快SSH连接速度

SSH基于Key验证及加快SSH连接速度

三、连接测试

 SSH基于Key验证及加快SSH连接速度

Key验证之后,scp这种走ssh通道的都会免密

私钥须保存好

加快SHH连接速度

SSH基于Key验证及加快SSH连接速度

在服务端修改 /etc/ssh/sshd_config 配置文件

 SSH基于Key验证及加快SSH连接速度

SSH基于Key验证及加快SSH连接速度

把UseDNS和GSSAPIAuthentication 两项都改成no

然后重启ssh服务

相关推荐