濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > perl腳本實(shí)現(xiàn)限制ssh最大登錄次數(shù)(支持白名單)

perl腳本實(shí)現(xiàn)限制ssh最大登錄次數(shù)(支持白名單)

熱門標(biāo)簽:邯鄲外呼調(diào)研線路 真人語音電銷機(jī)器人系統(tǒng) 買了外呼系統(tǒng)不想用了怎么辦 樂昌電話機(jī)器人 北京語音電銷機(jī)器人價(jià)格 開封百應(yīng)電銷機(jī)器人聯(lián)系方式 武漢呼叫中心外呼系統(tǒng)線路商 電話機(jī)器人電話卡封號(hào)怎么辦 浦東上海400開頭的電話申請(qǐng)

ssh limit perl腳本主要作用:
1.限制一個(gè)ssh用戶的最大登錄數(shù)為n,n可自定義。
2.支持白名單,如root、test登錄不受限制。

如果一個(gè)ssh用戶的最大登錄數(shù)超過指定數(shù)字,則后登錄的會(huì)把先前登錄的踢掉,以此達(dá)到控制登錄數(shù)的目的。

該腳本需要主機(jī)支持perl,如果沒有,可yum安裝。

腳本源碼:

#!/usr/bin/perl -w
use strict;
#white list
my @ALLOW_USERS = qw{
  test
  root
  lulu1
};
#the maximum number of ssh login
my $LOGIN_TIMES = 1;
sub main
{
  my @lines = `ps -eo user,pid,etime,cmd | grep sshd`;
  my $users;
  for my $line (@lines) {
    if(my ($user, $pid, $etime, $cmd) = $line =~ /^([^s]+)s+(d+)s+([^s]+)s+(sshd:.+)$/) {
      next if grep {$user eq $_} @ALLOW_USERS;
      my $proc = {'pid', $pid, 'etime', $etime, 'cmd', $cmd};
      push @{$users->{$user}}, $proc;
    }
  }
  for my $key(keys(%$users)) {
     my @sshs = sort {
      my ($lb, $la) = (length($b->{'etime'}), length($a->{'etime'}));
      if($lb == $la) {
        $b->{'etime'} cmp $a->{'etime'};
      } else {
        $lb => $la;
      }
    } @{$users->{$key}};
    $LOGIN_TIMES = 1 if $LOGIN_TIMES  1;
    for (1 .. $LOGIN_TIMES) { pop @sshs; };
    for my $ssh (@sshs) {
      kill 9, $ssh->{'pid'};
    }
  }
}
while(1) {
  main;
  sleep 3;
}


【使用方法】

另存腳本存到root目錄,命名為limit.pl,然后執(zhí)行:

echo "/root/limit.pl " >> /etc/rc.d/rc.local (加入開機(jī)啟動(dòng))
/root/limit.pl  (運(yùn)行腳本)

 

您可能感興趣的文章:
  • Oracle 添加用戶并賦權(quán),修改密碼,解鎖,刪除用戶的方法
  • Oracle新建用戶、角色,授權(quán),建表空間的sql語句
  • [Oracle] 如何使用觸發(fā)器實(shí)現(xiàn)IP限制用戶登錄
  • zf框架的session會(huì)話周期及次數(shù)限制使用示例
  • ORACLE 10G修改字符編碼沒有超字符集的限制
  • javascript Deferred和遞歸次數(shù)限制實(shí)例
  • Java用Cookie限制點(diǎn)贊次數(shù)(簡(jiǎn)版)
  • java發(fā)送短信系列之限制日發(fā)送次數(shù)
  • C# winform實(shí)現(xiàn)登陸次數(shù)限制
  • Oracle用戶連續(xù)登錄失敗次數(shù)限制如何取消
 

標(biāo)簽:松原 石嘴山 鄂州 宜春 六安 河北 自貢 淄博

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《perl腳本實(shí)現(xiàn)限制ssh最大登錄次數(shù)(支持白名單)》,本文關(guān)鍵詞  perl,腳本,實(shí)現(xiàn),限制,ssh,最大,登錄,次數(shù),支持,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《perl腳本實(shí)現(xiàn)限制ssh最大登錄次數(shù)(支持白名單)》相關(guān)的同類信息!
  • 本頁收集關(guān)于perl腳本實(shí)現(xiàn)限制ssh最大登錄次數(shù)(支持白名單)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    汽车| 宁南县| 丽江市| 五莲县| 广丰县| 中方县| 镇雄县| 滕州市| 福海县| 改则县| 武夷山市| 灵丘县| 镇雄县| 长葛市| 石嘴山市| 阳新县| 称多县| 大连市| 兴山县| 湖州市| 上犹县| 塘沽区| 行唐县| 南投县| 宁城县| 苏尼特左旗| 治县。| 定南县| 怀宁县| 高阳县| 五家渠市| 康乐县| 余庆县| 肥东县| 宁陕县| 民县| 营山县| 丹东市| 来凤县| 合水县| 延川县|