SSH服务
如果客户端是第一次链接,客户端需要接收服务器的公钥,ssh服务器会把自己的公钥发送给客户端(Client),而客户端会把公钥保存在当前用户的/root/.ssh/known_hosts下面
ssh公钥:
ssh在启动的时候,会去查看/etc/ssh下面查看host文件,去查看有没有密钥,如果没有,就新建一个
客户端输入被验证用户的密码:ssh root@server root
ssh会话,加密的会话,客户端会产生一个随机值,将来用作对称加密的密码,server会拿自己的私钥解开这个随机值,客户端和server之间通信都是这个随机值加密的
客户端链接命令:
示例
ssh -X root@192.168.6.9
root代表:服务器端的用户
192.168.6.9:服务器的ip地址
X:转发图形化有关的数据,如果要使用图形化的工具,就必须要带这个参数
如果只是用来执行一个命令,命令结束以后,打开的shell就会关闭
如果不带用户,那么会以客户端的当前用户去链接
ssh 192.168.6.9
但是服务器端没有链接的当前用户,那么会链接失败
基于SSH的密钥身份验证
在使用ssh的时候,需要输入用户名和密码,这是基于用户名和密码的验证
无密钥的ssh登录:还有一种验证方式是基于公钥验证,就是用客户端在链接服务器的不需要输入密码,服务器能够识别客户端,客户端把自己的身份信息发送给服务器。客户端是有一个公钥和私钥,开始链接之前,客户端把自己的公钥发送给服务器,服务器保存了客户端的公钥信息,然后产生一个随机值,用私钥做签名(公钥加密,私钥解密)