SSH服务
什么是SSH服务器
- ssh是secure shell protocol的简写,是安全的sshll。由 IETF 网络工作小组(Network Working Group )制定。
- 解决了什么问题:在进行数据传输之前,ssh先对联机数据包通过加密技术进行加密处理,加密之后再进行数据传输,确保了传递过程中的数据安全。
SSH的优点
- 数据传输是加密的,可以防止信息泄漏
- 数据传输是压缩的,可以提高传输速度
telnet缺点
- 数据传输是明文传输
- 数据传输没有压缩功能
- 数据传输速度慢
SSH服务器介绍
ssh服务端主要包括两个服务功能 ssh远程链接和sftp服务(文件传输功能)
| 服务名称 | sshd |
|---|---|
| 服务端主程序 | /usr/sbin/sshd |
| 服务端配置文件 | /etc/ssh/sshd_config |
| 客户端配置文件 | /etc/ssh/ssh_config |
openssh
| 服务名称 | sshd |
|---|---|
| 服务端主程序 | /usr/sbin/sshd |
| 服务端配置文件 | /etc/ssh/sshd_config |
SSH实现原理
- 客户端发起链接请求
- 服务端返回自己的公钥,以及一个会话ID(这一步客户端得到服务端公钥)
- 客户端生成密钥对
- 客户端用自己的公钥异或会话ID,计算出一个值Res,并用服务端的公钥加密
- 客户端发送加密值到服务端,服务端用私钥解密,得到Res
- 服务端用解密后的值Res抑或会话ID,计算出客户端的公钥(这一步服务端得到客户端公钥)
- 最终:双方各自持有三个秘钥,分别为自己的一对公、私钥,以及对方的公钥,之后的所有通讯都会被加密
黑白名单
-
白名单:加进来允许,其余全部不允许
(工作中建议使用,安全性高)
-
黑名单:加进来不允许,其余的都可以
实验
实验要求
- ssh 默认端口号,改成 10086
- 客户端用10086登录
- 禁止root登录,并且普通用户禁止su root
- 免密登录
实验环境
服务端:192.168.42.14 客户端:192.168.42.13
配置
实验前一定要记住,关闭防火墙以及setenforce 0,防止实验出现错误
服务端
编辑完配置文件后,一定要要重启一下服务
不要慌,先看报错信息,报错信息提示需要使用journalctl -xe或者systemctl status sshd.service命令区查看哪里错误
输入命令查看提示信息,并加以解决
重启可能出现的错误
重启服务时候可能会出现报错
客户端
远程访问前面不加用户,默认为root访问连接
黑白名单实验
白名单:/etc/hosts.allow
黑名单:/etc/hosts.deny