70.Centos配置OPENSSH 服务
2019-07-04 本文已影响0人
扶桑啊啊
语法: ssh [username@hostname] [-p port]
SSH Secure Shell 用于两个主机之间安全远程访问协议
Telnet 该协议在网络上传输的数据是明文
从客户端来看,SSH 提供两种级别身份验证:
1 基于用户名和密码身份验证
[instructor@foundation0 ~]$ ssh root@192.168.71.128
The authenticity of host '192.168.71.128 (192.168.71.128)' can't be established.
RSA key fingerprint is 93:39:cd:02:9d:ad:ea:a7:f2:f6:29:22:ff:1d:e2:92.
Are you sure you want to continue connecting (yes/no)? yes

原理:
1 首先客户端向服务器发送一个连接请求
2 第一次连接服务器,服务器会向客户端传送一个公钥$ ll .ssh/known_hosts
3 客户端会使用服务器的公钥加密自己的密码,并且发送给服务器
4 服务端接受到公钥加密的密码后,利用自己的私钥进行解密,核对密码表/etc/shadown
2 基于密钥身份验证
[instructor@foundation0 ~]$ ssh-keygen
[instructor@foundation0 ~]$ ssh-copy-id root@192.168.71.128
[instructor@foundation0 ~]$ ssh root@192.168.71.128
1 客户端生成一对密钥 ssh-keygen,然后客户端把公钥发送给服务端 ssh-copy-id 保存在服务端.ssh/authorized_keys

2 客户端使用服务器的公钥~/.ssh/known_hosts 加密一段数据,然后再用自己的私钥加密发送给服务端

3 服务端使用客户端公钥解密,再使用自己的私钥解密 一段数据(一次性 session 密钥)
