目录
1.ssh的知识点
1.1ssh的定义
SSH(Secure Shell,安全外壳)是一种网络安全协议,通过加密和认证机制实现安全的访问和文件传输等业务。启用的端口为tcp22端口。
SSH客户端<--------------网络---------------->SSH服务端
1.2ssh的优点
数据输出是加密的,防止信息泄露
数据传输是压缩的,提高传输速度
1.3ssh公钥传输原理
客户端首次发起连接,服务端会生成一个随机会话id,会将服务端的公钥以及会话id发给客户端
客户端收到会话id以及服务端的公钥
会用客户端自己的公钥以及会话id做运算,产生一个结果然后再用服务端的公钥加密,再将这个加密结果传给服务端
服务端收到加密结果后会用自己的私钥解密得到客户端的公钥和会话id运算的结果
因为已知会话id所以就可以得到客户端的公钥
最后双方持有对面的公钥
2.ssh的运用
2.1ssh配置文件信息
2.1.1存放ssh服务端的配置文件
/etc/ssh/sshd_config
2.1.2存放ssh客户端的配置文件
/etc/ssh/ssh_config (该配置基本默认保持不变,就可以了)
2.2ssh登录
ssh [远程主机用户名]@[远程服务器主机名或IP地址] [-p port]
-p:指定端口号
2.3修改默认端口
vim /etc/ssh/sshd_config
#修改默认端口
17 Port xxxx
#17行修改自己默认的端口
2.4ssh服务的最佳实践
1. 建议使用非默认端口 22
2. 禁止使用protocol version 1
3. 限制可登录用户 白名单
4. 设定空闲会话超时时长
5. 利用防火墙设置ssh访问策略
6. 仅监听特定的IP地址 公网 内网
7. 基于口令认证时,使用强密码策略
8. 使用基于密钥的认证
9. 禁止使用空密码
10. 禁止root用户直接登录
11. 限制ssh的访问频度和并发在线数
12. 经常分析日志分离