目录
1、SSH基础
什么是SSH服务器?
SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程 复制等功能。SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令,SSH 为建立在应用层和传输层基础上的安全协议。对数据进行压缩,加快传输速度。
SSH客户端<--------------网络---------------->SSH服务端
优点
-
数据传输是加密的,可以防止信息泄漏
-
数据传输是压缩的,可以提高传输速度
openssh centos7 上自带的软件 帮助我们实现远程连接
字符界面远程连接,
/etc/ssh/
服务端 配置文件 sshd_config
客户端 配置文件 ssh_config ssh:可以远程连接 scp sftp rsync:远程传输文件
2、原理
-
客户端发起链接请求
-
服务端返回自己的公钥,以及一个会话ID(这一步客户端得到服务端公钥)
-
客户端生成密钥对
-
客户端用自己的公钥异或会话ID,计算出一个值Res,并用服务端的公钥加密
-
客户端发送加密值到服务端,服务端用私钥解密,得到Res
-
服务端用解密后的值Res异或会话ID,计算出客户端的公钥(这一步服务端得到客户端公钥)
-
最终:双方各自持有三个秘钥,分别为自己的一对公、私钥,以及对方的公钥,之后的所有通讯都会被加密
3、登录
ssh 192.168.64.110
直接登录,默认root
ssh -l lisi 192.168.3.101
以lisi身份登录
4、免密登录
ssh-keygen -t ecdsa
生成密匙文件,(.pub的是公匙)
cd .ssh/
ssh-copy-id -i id_ecdsa.pub 192.168.3.101
将公钥文件发送给对面
ssh 192.168.64.110
远程连接