测试sshd中maxstartup参数

本文介绍了一个使用Bash脚本进行SFTP登录的示例,通过控制`maxstartup`参数限制并发连接数,实现15个线程的登录尝试,记录登录成功和失败次数。

文件目录:/etc/ssh/sshd_config
maxstartup 是限制处于联机页面的连接数,有2种形式
三元形式:10:30:60表示当连接数到达10时,之后的连接有30的概率被拒绝掉,当连接数到达10时,之后的连接有30的概率被拒绝掉
数字形式:10 连接数达到10后,之后的连接全部拒绝

        因为此参数是表示同时连接总数,当时的想法是要么是10个进程并行,要么直接用for循环在命令后面加个&后台运行,最后选择的还是进程并行

#!/bin/bash
#定义变量
sftp_port=22
sftp_user=sftpadmin
sftp_ip=127.0.0.1
sftp_passwd=123123
#sftp登录判断函数
sftp_join(){
#echo ls |lftp -u $sftp_user,$sftp_passwd sftp://$sftp_ip:$sftp_port
/usr/bin/expect << EOF
spawn sftp  ${sftp_user}@${sftp_ip}
expect {
 "*password:" { send "${sftp_passwd}\r" }
 }
expect "sftp>"
send "bye \r"
EOF
if [ $? -eq 0 ]; then
	echo "登录成功"
else
	echo "登录失败!"
fi
}
#定义线程数
thread(){
>$0.log 
tmp_fifofile='$$.fifo'
mkfifo $tmp_fifofile
exec 6<>$tmp_fifofile
rm $tmp_fifofile
thread_num=15
for ((i=0;i<${thread_num};i++));do
	echo
done >&6
}

#开始测试
start_time=`date +"%H:%M:%S"`

thread

for i in {1..15};do
	read -u6
	{
	#sleep 2
	#echo "success"$i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值