第四章ssh远程登录协议和tcp wappers

第一章SSH基础

1.1.SSH服务器

1.2加密原理

1.3修改默认端口

1.4禁止root用户登录

1.5白名单黑名单列表

1.6ssh服务的最佳实践

1.7使用秘钥对及免交互验证登录

1.8免密登录脚本


第一章SSH基础

1.1.SSH服务器

SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程 复制等功能。SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令,SSH 为建立在应用层和传输层基础上的安全协议。对数据进行压缩,加快传输速度。

优点: 数据传输是加密的,可以防止信息泄漏

数据传输是压缩的,可以提高传输速度

1.2加密原理

  • 客户端发起链接请求

  • 服务端返回自己的公钥,以及一个会话ID(这一步客户端得到服务端公钥)

  • 客户端生成密钥对

  • 客户端用自己的公钥异或会话ID,计算出一个值Res,并用服务端的公钥加密

  • 客户端发送加密值到服务端,服务端用私钥解密,得到Res

  • 服务端用解密后的值Res异或会话ID,计算出客户端的公钥(这一步服务端得到客户端公钥)

  • 最终:双方各自持有三个秘钥,分别为自己的一对公、私钥,以及对方的公钥,之后的所有通讯都会被加密

1.3修改默认端口

1.4禁止root用户登录

1.5白名单黑名单列表

1.6ssh服务的最佳实践

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

  1. 禁止使用protocol version 1

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

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

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

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

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

  1. 使用基于密钥的认证

  1. 禁止使用空密码

  1. 禁止root用户直接登录

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

  1. 经常分析日志 分离

1.7使用秘钥对及免交互验证登录

原理:

  • 用户/密码

  • 基于秘钥

用户/密码:

1.生成公钥和私钥

2.将公钥导给对面

  1. 客户端发起ssh请求,服务器会把自己的公钥发送给用户

  1. 用户会根据服务器发来的公钥对密码进行加密

  1. 加密后的信息回传给服务器,服务器用自己的私钥解密,如果密码正确,则用户登录成功

基于密钥的登录方式

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

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

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

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

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

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

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

另外一台主机登录

1.8免密登录脚本

#免密登录脚本

#!/bin/bash

PASS=123123

#设置网段最后的地址,4-255之间,越小扫描越快

END=254

IP=`ip a s ens33 | awk -F'[ /]+' 'NR==3{print $3}'`

NET=${IP%.*}.

rm -f /root/.ssh/id_rsa

[ -e ./SCANIP.log ] && rm -f SCANIP.log

for((i=3;i<="$END";i++));do

ping -c 1 -w 1 ${NET}$i &> /dev/null && echo "${NET}$i" >> SCANIP.log &

done

wait

ssh-keygen -P "" -f /root/.ssh/id_rsa

rpm -q sshpass || yum -y install sshpass

sshpass -p $PASS ssh-copy-id -o StrictHostKeyChecking=no $IP

AliveIP=(`cat SCANIP.log`)

for n in ${AliveIP[*]};do

sshpass -p $PASS scp -o StrictHostKeyChecking=no -r /root/.ssh root@${n}:

done

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值