ssh远程登录协议和tcp wappers

目录

1.SSH服务

1.1 SSH基础

1.2ssh远程登录

1.2.1 免密登录

ssh服务的最佳实践



1.SSH服务

1.1 SSH基础

什么是SSH服务器?

SSH (Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。

  • 是一种安全通道协议
  • 对通信数据进行了加密处理,用于远程管理
  • 压缩功能

2、SSH的优点
数据传输是加密的,可以防止信息泄漏
数据传输是压缩的,可以提高传输速度
3、SSH的客户端与服务端
客户端

Linux 客户端: ssh, scp, sftp,slogin
Windows 客户端:xshell, MobaXterm,putty, securecrt, ssh secure shell client
SSH客户端的配置文件:/etc/ssh/ssh_config
服务端

SSH服务端:OpenSSH (开源)
ssh服务端主要包括两个服务功能:ssh远程连接和sftp服务(文件传输功能)

  • 客户端发起链接请求
  • 服务端返回自己的公钥,以及一个会话ID(这一步客户端得到服务端公钥)
  • 客户端生成密钥对
  • 客户端用自己的公钥异或会话ID,计算出一个值Res,并用服务端的公钥加密
  • 客户端发送加密后的值到服务端,服务端用私钥解密,得到Res
  • 服务端用解密后的值Res异或会话ID,计算出客户端的公钥(这一步服务端得到客户端公钥)
  • 最终:双方各自持有三个秘钥,分别为自己的一对公、私钥,以及对方的公钥,之后的所有通讯都会被加密

1.2ssh远程登录

每次使用sshd登录到其他主机,双方都会生成一个文件known_hosts把对方主机的公钥在.ssh/known_hosts文件里

登录方法一

ssh [远程主机用户名]@[远程服务主机名或IP地址] -p 端口号 

(不加- p 默认端口号为22)

登录方法二

ssh -l [远程主机用户名]  [远程服务器主机名或IP地址] -p port

-l  指定登录名称

-p 指定登录端口(当服务端的端口非默认时,需要使用 -p)

-o 可以把配置文件放后面

1.2.1 免密登录

使用密钥对及面交互验证登录

原理:

  • 用户/密码

  • 基于秘钥

用户/密码:

1.生成公钥和私钥

2.将公钥导给对面

  1. 首先在客户端生成一对密钥(ssh-keygen)

  2. 并将客户端的公钥ssh-copy-id 拷贝到服务端

  3. 当客户端再次发送一个连接请求,包括ip、用户名

  4. 服务端得到客户端的请求后,会到authorized_keys()中查找,如果有响应的IP和用户,就会随机生成一个字符串,例如:kgc

  5. 服务端将使用客户端拷贝过来的公钥进行加密,然后发送给客户端

  6. 得到服务端发来的消息后,客户端会使用私钥进行解密,然后将解密后的字符串发送给服务端

  7. 服务端接受到客户端发来的字符串后,跟之前的字符串进行对比,如果一致,就允许免密码登录

第一步 免密实现 实验准备

准备客户端 服务端 并关闭防火墙

1、systemctl stop firewalld

2、setenforce  0

第二步在客户端生成一个密钥

第三步将建好的密钥发送给服务端

第四步 验证能否免密登录

ssh服务的最佳实践

  1. 建议使用非默认端口 22

  2. 禁止使用protocol version 1

  3. 限制可登录用户 白名单

  4. 设定空闲会话超时时长

  5. 利用防火墙设置ssh访问策略

  6. 仅监听特定的IP地址 公网 内网

  7. 基于口令认证时,使用强密码策略,比如:tr -dc A-Za-z0-9_ < /dev/urandom | head -c 12| xargs

  8. 使用基于密钥的认证

  9. 禁止使用空密码

  10. 禁止root用户直接登录

  11. 限制ssh的访问频度和并发在线数

  12. 经常分析日志 分离

  13. 禁用反向dns

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值