20231129-SSH加密和安全笔记

软件的实现

openssh ssh 协议的开源实现,centos 默认安装

dropbear 另一个开源项目的实现

ssh 协议版本

v1基于crc32做mac 不安全 man-in-middle

v2 双方主机协议选择安全的mac 方式,基于DH 算法做密钥交换,基于RSA 或DSA 实现身份认证

3.1.1 公钥交换原理

客户端发起链接请求

服务端返回自己的公钥,以及一个会话id

客户端生成密钥对


命令行工具

base64

md5sum

cat

当用户远程连接ssh 服务器时,会复制ssh 服务器 .pub 文件中的公钥到客户机的 know_hosts 中,下次连接时,会自动匹配相应私钥,不能匹配,将拒绝连接

范例

禁用自动连接的过程

安全机制

对称和非对称加密

散列算法

gpg

PKI和CA

openssl

证书管理

ssh 服务和dropbear

轻量级自动化运维工具

aide

sudo
tcp wrappers

pam 模块

centos

openssh 是ssh 协议的免费开源实现,一般在各种linux 版本中会默认安装,基于cs 结构

rdm

systemctl status sshd 查看服务器的状态

ss -ntl

scp

sftp

远程执行命令

ssh 10.0.0.8 “sed -i.bak

在远程主机运行本地shell脚本

ssh 选项

-p port 远程服务器监听的端口
-b 指定连接的源ip
-v 调试模式
-c 压缩方式
-x 支持x11转发

lastb

btmp

wc -l

1
2
3
lastb -f btmp-34 | wc -l

lastb -f btmp-34 | awk '{print $3}' | sort |uniq -c |sort -nr|head

联发科 专用刷机工具 mtkclient

手机获取root 权限基本步骤

解锁 bootloader 提取 boot 修补 boot 刷入 boot

fastboot 环境 bootrom 环境 系统环境 fastboot 环境

xmanager

1 CA实现和证书管理,用脚本实现

2 ssh 服务常见操作

openssl

base64 编码

加密和安全

跳跃

ssh -t 10.0.0.8 ssh -t 10.0.0.7 ssh 10.0.0.6

-o 指定 ssh 的配置

输入重定向

ssh 10.0.0.6 bash < /root/test2.sh

ssh 服务登录的常用验证方式

用户 口令

基于密钥

scp 拷贝文件

win10 创建访客账户

实现基于密钥的登录方式

ll .sh/

防火墙

cat hosts.txt

while read ip; do ssh $ip bash < /root/test2.sh; done < hosts.txt

for i in cat hosts.txt; do echo $i; done

ls -a .sh

RSC 协议

-n 模拟复制过程
显示详细过程
递归复制目录树
保留权限
保留修改时间戳
保留组信息
保留所有者信息
将软链接文件指向的文件复制

如果接收者的文件比发送者的文件较新,将忽略同步

压缩,节约带宽

rsync -av /data/test 10.0.0.7:/data # 复制目录和目录下的文件

rsync -av /data/test/ 10.0.0.7:/data # 只目录下的文件

ssh 高级应用

本地端口转发

ssh 会自动加密和解密所有ssh 客户端与服务端之间的网络数据

telnet SMTP LDAP 这些TCP 应用均能够从中得益,避免了用户名,密码以及隐私信息的明文传输

SSH 端口转发能够提供两大功能

加密ssh client 端至ssh server 端之间的通讯数据

突破防火墙的限制完成一些之前无法建立连接的TCP 连接

sam 文件 密码

iptable

tail

ssh 服务器配置

服务器端 sshd

服务器端的配置文件 sshd-config

常用参数

魂斗罗 contra

ssh 服务的最佳实践

建议使用非默认端口

禁止使用

限制可登录用户

设定空闲会话超时时长

禁止使用空密码

禁止root 用户直接登录

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

经常分析日志

ssh 其它相关工具

挂在远程ssh 目录sshfs

由EPEL源提供,目前centos 还没有提供,可以利用ssh 协议高在远程目录

自动登录ssh 工具sshpass

由EPEL源提供,ssh 登录不能在命令行中指定密码,sshpass 的出现,解决了这一问题

它支持密码从命令行 文件 环境变量中读取

格式 sshpass [option] command parameters

常见选项

-p password 后跟密码它允许你用 -p 参数指定明文密码,然后直接登录远程服务器

-f filename 后跟保存密码的文件名,密码是文件内容的第一行

-e 将环境变量SSHPASS 作为密码

sshpass –help

sshpass -p magedu ssh -o StrictHostKeyChecking=no 10.0.0.7

本机known_hosts文件中有的主机才能生效

chmod

vim change_pass_dd.sh

ssh 10.0.0.28

批量修改多台主机的root 密码为随机密码

批量部署多台主机基于key 验证 1

遗传算法

轻量级自动化运维工具pssh

EPEL 源中提供了多个自动化运维工具

pssh 基于 python 编写,可在多台服务器上执行命令的工具,也可实现文件复制,提供了基于ssh 和scp 的多个并行工具

pdsh 是一个多线程远程shell 客户端,可以并行执行多个远程主机上的命令

mussh 是一个shell 脚本,允许使用命令在多个主机上通过ssh 执行命令。

pssh 命令选项如下

pssh -h hosts.txt -i echo $UID

pssh -h hosts.txt -i echo $HOSTNAME

pslurp 命令

功能是将远程主机的文件批量复制到本地

-L 指定从远程主机下载到本机的存储的目录,local 是下载到本地好的名称

-r 递归复制目录

dropbear

是特别有用的嵌入式linux 系统,如无线路由器,期望在存储器与运算能力有限的情况下取代openssh,尤其是嵌入式系统

rpm -qf /usr/sbin/sshd

wget

文件完整性检查 AIDE

编译安装 dropbear

dropbear -p :2222 -FE

linux=grub2+kernel+busybox+dropbear

动态端口转发

depmod

windows

bios
windows
C
app

linux
bootloader 常用u-boot
linux内核 内核本身,驱动程序
根文件系统 系统必备app 我们的app
APP


vim
编辑器

删除x 删除光标之后的内容

dd 删除整行

ndd // 删除当前行及其后的n-1行 n 是数字

o 在当前行下面新增加一行

u 撤销上一步操作

4 复制/粘贴

yy 复制当前行 yank 复制
nyy 复制当前行及其后的n-1行 n是数字

p 粘贴 paste

替换/查找

/pattern 从光标开始处向文件尾 pattern 后按下n 向下查找,或N 向上查找

:%s/p1/p2/g 将文件中所有的pi 均用p2 替换
:%s/p1/p2/gc 替换时需要确认

s 全称 substitute 替换

g global 全局
c 全称confirm 确认

嵌入式linux 开发

在windows 编辑

在服务器编译

在开发板运行

USB 网卡

windows 软件

vmware 虚拟机软件
source insight 阅读、编写源码的工具,
mobaxterm 串口工具,远程登录工具
filezilla 文件传输工具,在windows 和ubuntu 之间传输文件

notepad

reboot

下载BSP及配置工具链

100ask_imx6ull 开发板的BSP都保存在git 站点上,通过repo 命令统一管理

配置repo

NFS 实现了一个跨越网络的文件访问功能,

NFS 最大的特点是将服务端的文件系统目录树映射到客户端,而在客户端访问该目录树与访问本地文件系统没有任何差别,客户端并不知道这个文件系统目录树是本地的还是远在另外一台服务器

SMP 负载均衡

gcc
-E 预处理,开发过程中想快速确定某个宏可以使用 -E -dM

-c 把预处理、编译、汇编都做了,但是不链接
-o 指定输出文件
-I 指定头文件目录
-L 指定链接时库文件目录
-l 指定链接哪一个库文件

awk 命令实现数组切分提取

1
2
3
4
5
6
7
8
awk -F ' ' '{print $1}'
v2 | awk -F ' ' '{print $1}' | xargs -i kubectl logs -n 20 -n weather {} -c istio-proxy

内容太多 正则表达式继续筛选,找到需要的内容

数据统计


打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2015-2024 TeX_baitu
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~