1. DNS
DNS全称是Domain Name System,域名系统,它的任务就是把域名映射成对应的IP。
DNS解析域名的过程:
(1)首先查找缓存:包括浏览器缓存、操作系统缓存、路由器缓存等,找到了直接返回对应的IP,找不到则进行(2);
(2)查找本机的hosts文件:hosts文件保存在本地的一个文件,内容包含域名和IP地址对,一般格式是域名+空格+IP地址,如果还找不到则到(3);
(3)查找DNS服务器:
域名的解析是与我们的阅读顺序相反,解析过程是从后向前,比如https://www.cnblogs.com这个域名,首先跟域名服务器解析com,返回一个定义域名服务器地址;顶级域名服务器解析cnblogs返回一个权限域名服务器地址,最后权限域名服务返回整个域名对应的IP给客户端,到此即完成了域名解析。
2. SSH
SSH的定义是一个可以远程登录主机并在远程主机上执行指令的程序(ssh (SSH client) is a program for logging into a remote machine and for executing commands on a remote machine)。SSH是一种协议,有多种实现方式,其中包括商用的和开源的,主要目的都是加密传输信息。SSH加密有两种方式,一种是通过密码的形式;第二种是通过密钥的形式,常见的是非对称加密算法RSA算法。
加密方式就是通过密码进行登录,Linux指令是 ssh [-p 端口号] 用户名@IP地址。
密钥分为私钥和公钥,其成对存在,互为对方的加密和解密,即一个负责加密,另一个负责解密,缺一不可;公钥负责对外公开,私钥自己保留。
密钥的工作分为两种机制:加密机制和认证机制。
下面举个例子,A和B之间需要加密传输信息,那么A和B首先各自需要各自产生自己的私钥和公钥,记为公钥A,私钥A和公钥B和私钥B,然后A把公钥A发给B,B把公钥B发给A,那么接下来就可以进行加密传输了。
加密机制:B向A传输,则B用公钥A加密资料后发送给A,A收到后使用私钥A解密B发来的资料,这就是加密机制;
认证机制:A向B传输资料,A使用私钥A加密资料后发送给B,B收到后使用公钥A尝试解密资料,结果成功解密,则说明这个资料是由A发送的,着就是认证机制。
Linux指令:
产生密钥 ssh -keygen (一般产生两个文件 id_rsa是私钥,id_rsa.pub公钥)
发送公钥 scp id_rsa.pub 用户名@IP地址:/home/playsand/.ssh
SSH的内容参考了两位前辈的博客的部分观点,特此感谢:
https://blog.csdn.net/l464373218/article/details/51280078
https://blog.csdn.net/qq_34649947/article/details/80140465
原文地址:https://www.cnblogs.com/takemytime/p/9336708.html