宇宙主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

欧基零壹微头条IP归属甄别会员请立即修改密码
查看: 4317|回复: 16

[经验] ssh代理定时密码+断开用户+openssh+dropbear

[复制链接]
发表于 2011-12-18 02:20:39 | 显示全部楼层 |阅读模式
其实就是个小玩意,论坛有发过的,这里总结再加自己的:

SSH代理-openssh定时改密码+断开用户脚本:

#!/bin/bash
#使用expect生成8位数字密码,并应用为用户freessh的密码
pass=`mkpasswd -l 8 -d 8 -c 0 -C 0 -s 0 freessh`
#保存新密码到password.txt-路径自定义
echo $pass >  password.txt
#结束用户freessh的所有进程
killall -u freessh

SSH代理-dropbear定时改密码+断开用户脚本:
改密码的就不用多说了,同openssh
dropbear断开用户想到两个方案,
一个是另开一个端口专门用来做定时密码,这样知道这个端口对应的父进程,然后获取下面的子进程,然后kill掉:

#! /bin/sh
#获取dropbear -p 505所有父进程为1的PID
pidf=`ps -ef|grep "dropbear -p 505"|awk '{if(1==$3){print $2}}'`
for pid in ${pidf}
do
#获取父进程为pid的子进程PID。
  pidc=`ps -ef|grep "dropbear -p 505"|awk '{if('$pid'==$3){print $2}}'`
  for pidd in ${pidc}
  do
  kill ${pidd}
  done
done
(备注:大多数情况用一个循环也可以)

第二个就是根据日志获取用户名为freessh的所有pid,然后kill掉:

#!/bin/bash
for ipad in $(netstat -apn|grep dropbear|awk -F ":"  '{print $2}' |awk -F ' ' '{print $2}' |sed '/^$/d' |sort|uniq )
do
   for ipadd in $(cat /var/log/secure | awk '/'$ipad'/&&/freessh/&&/succeeded/'|tail -n 1 |awk -F '[' '{print $2}' |awk -F ']' '{print $1}' )
   do
   kill $ipadd
   done
done
(备注:这个是基于IP地址判断的,会忽略一些局域网同IP用户)

脚本搞好后,最后设置好执行权限+定时任务。发布到网页上也有不少方法,以后更新吧,该睡觉了。


[ 本帖最后由 SSH自动开通 于 2011-12-18 10:15 编辑 ]

评分

参与人数 2威望 +20 收起 理由
dakai + 10 原创内容
wusir + 10 原创内容

查看全部评分

发表于 2011-12-18 02:36:44 | 显示全部楼层
支持一下
发表于 2011-12-18 03:00:45 | 显示全部楼层
重启不完了,又是找又是杀的,脱裤子放P
发表于 2011-12-18 05:27:53 | 显示全部楼层
好东西,
发表于 2011-12-18 06:40:17 | 显示全部楼层
有办法让radius统计ssh的流量么
发表于 2011-12-18 07:55:18 | 显示全部楼层
好帖
发表于 2011-12-18 07:57:49 | 显示全部楼层
睡醒了没有啊,继续更新吧,那我也能做点好事了,也能提供free  SSH代理了
发表于 2011-12-18 08:50:41 | 显示全部楼层
mark
发表于 2011-12-18 10:02:42 | 显示全部楼层
mark
发表于 2011-12-18 10:04:18 | 显示全部楼层
mark
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|FastFib VPS论坛

GMT+8, 2024-9-20 19:38 , Processed in 0.062676 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表