SSH基础
什么是SSH
SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程 复制等功能。SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令,SSH 为建立在应用层和传输层基础上的安全协议。对数据进行压缩,加快传输速度。
SSH的特点
- 安全性: 数据传输是加密的,可以防止信息泄漏。
- 身份验证:防止未经授权的用户访问远程系统。
- 远程管理:可通过SSH协议登录远程服务器并执行命令,无需直接物理访问设备。
- 端口转发:SSH支持 端口转发功能,可以安全地传输其他协议和应用程序。
- 传输速度: 数据传输是压缩的,可以提高传输速度。
SSH具有强大的安全性、身份验证和远程管理功能,使得它成为远程访问和管理计算机系统的首选协议。
公钥传输原理
- 客户端发起链接请求
- 服务端返回自己的公钥,以及一个会话ID(这一步客户端得到服务端公钥)
- 客户端生成密钥对
- 客户端用自己的公钥异或会话ID,计算出一个值Res,并用服务端的公钥加密
- 客户端发送加密值到服务端,服务端用私钥解密,得到Res
- 服务端用解密后的值Res异或会话ID,计算出客户端的公钥(这一步服务端得到客户端公钥)
- 最终:双方各自持有三个秘钥,分别为自己的一对公、私钥,以及对方的公钥,之后的所有通讯都会被加密
SSH登录方式
第一种方式
ssh [远程主机用户名]@[远程服务器主机名或IP地址] -p
# -p 指定端口号
第二种方式
ssh -l [远程主机用户名] [远程服务器主机名或IP 地址]
#-l 指定登录名
第三种方式:远程控制
ssh [远程登录主机名] [命令]
修改端口
vim /etc/ssh/sshd_config
免密登录
- 客户端生成密钥
- 将公钥复制给服务器
- 查看是否能够免密登录