这篇文章给大家分享的是有关如何实现限制SSH单用户登录的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
使用方法: 用root权限在后台(比如screen里)运行这个脚本
代码如下:
#!/usr/bin/perl -w use strict; 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($user eq ‘root’); 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}}; for (1 .. 1) { shift @sshs; }; for my $ssh (@sshs) { kill 9, $ssh->{‘pid’}; } } } while(1) { main; sleep 3; }
感谢各位的阅读!关于“如何实现限制SSH单用户登录”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!