SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程 复制等功能。SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令,SSH 为建立在应用层和传输层基础上的安全协议。对数据进行压缩,加快传输速度。
数据传输是加密的,可以防止信息泄漏
数据传输是压缩的,可以提高传输速度
服务名称:sshd
服务端主程序:/usr/sbin/sshd ?
服务端配置文件:/etc/ssh/sshd_config?
客户端配置文件:/etc/ssh/ssh_config
1.客户端发起链接请求
2.服务端返回自己的公钥,以及一个会话ID(这一步客户端得到服务端公钥)
3.客户端生成密钥对
4.客户端用自己的公钥异或会话ID,计算出一个值Res,并用服务端的公钥加密
5.客户端发送加密值到服务端,服务端用私钥解密,得到Res
6.服务端用解密后的值Res异或会话ID,计算出客户端的公钥(这一步服务端得到客户端公钥)
7.最终:双方各自持有三个秘钥,分别为自己的一对公、私钥,以及对方的公钥,之后的所有通讯都会被加密
多出的文件是把对方主机的公钥放在.ssh/known_hosts文件里
?
?
登录方法1
ssh [远程主机用户名]@[远程服务器主机名或IP地址] -p port(端口号)
当在Linux主机上远程连接另一台Linux 主机时,如果当前所登录的用户是root的,当连接另一台主机时也是用root用户登录时,可以直接使用ssh+IP,端口默认(端口默认为22)即可,如果端口不是默认的情况下,需要使用-p指定端口。
?