文件目录:/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

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

被折叠的 条评论
为什么被折叠?



