zoukankan      html  css  js  c++  java
  • ssh 连接慢问题

    连接先看报错:

    There were 11 failed login attempts since the last successful login.

    先前有上百上千失败login,被攻击了,把短时间尝试登录失败的ip加入黑名单

    写个脚本:

    #! /bin/bash
    cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /root/black.txt
    DEFINE="10"
    for i in `cat  /root/black.txt`
    do
        IP=`echo | awk '{split("'${i}'", array, "=");print array[1]}'`
        NUM=`echo | awk '{split("'${i}'", array, "=");print array[2]}'`
        if [ $NUM -gt $DEFINE ];then
         grep $IP /etc/hosts.deny > /dev/null
          if [ $? -gt 0 ];then
              echo "sshd:$IP:deny" >> /etc/hosts.deny
          fi
        fi
    done 

    然后定时执行

    crontab -e
    */1 * * * *  sh /root/secure_ssh.sh

    一分钟执行一次

    攻击解决了,但是还是慢

    其中xintd安装失败,yum镜像连不上所以换了

      281  2018-06-28 12:55:41 cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
      282  2018-06-28 12:55:50 cd /etc/yum.repos.d/
      283  2018-06-28 12:55:57 wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
      284  2018-06-28 12:56:06 yum makecache
      285  2018-06-28 12:56:36 yum -y update
      286  2018-06-28 13:00:18 vi
      287  2018-06-28 13:00:26 yum install xinetd.x86_64
      288  2018-06-28 13:01:07 service xinetd start
      289  2018-06-28 13:01:14 /bin/systemctl start xinetd.service

     各种修改/etc/resolv.conf

    #nameserver 183.60.83.19
    nameserver 8.8.8.8
    nameserver 114.114.114.114
    #nameserver 183.60.82.98
    #search localdomain
    #options timeout:1 rotate

    重启网络

    /etc/init.d/network restart

    不起作用

    把网上流行做法,都做了

    systemcts status systemd-logind

    因为确实有login超时

    也顺便

    systemctl restart dbus

    了一下,没用

    费力气安装stract,用它来查看栈信息

    strace -o ~/starce_ssh.txt -T ssh localhost
    tail -f ~/starce_ssh.txt

    但是看不懂。。。。。。

    下面的肯定先做了

    vim /etc/ssh/sshd_config

    UseDNS no
    #service sshd restart

    修改GSSAPIAuthentication参数为 no,默认是yes

    #service sshd restart

    显然是没用,采用上上面的方法

    也调试日志了

    ssh  -vvv root@*.*.*.*

    输入密码后,在这里等待

    debug1: Next authentication method: password
    root@*********'s password:
    debug3: packet_send2: adding 48 (len 65 padlen 15 extra_pad 64)
    debug2: we sent a password packet, wait for reply
    debug3: Wrote 148 bytes for a total of 1393
    debug1: Authentication succeeded (password).
    debug1: channel 0: new [client-session]
    debug3: ssh_session2_open: channel_new: 0
    debug2: channel 0: send open
    debug1: Requesting no-more-sessions@openssh.com
    debug1: Entering interactive session.
    debug3: Wrote 136 bytes for a total of 1529

    很久以后

    debug1: Entering interactive session.
    debug3: Wrote 136 bytes for a total of 1529
    debug1: client_input_global_request: rtype hostkeys-00@openssh.com want_reply 0
    debug2: callback start
    debug2: client_session2_setup: id 0
    debug2: channel 0: request pty-req confirm 1
    debug2: channel 0: request shell confirm 1
    debug2: fd 3 setting TCP_NODELAY
    debug2: callback done
    debug2: channel 0: open confirm rwindow 0 rmax 32768
    debug3: Wrote 376 bytes for a total of 1905
    debug2: channel_input_status_confirm: type 99 id 0
    debug2: PTY allocation request accepted on channel 0
    debug2: channel 0: rcvd adjust 2097152
    debug2: channel_input_status_confirm: type 99 id 0
    debug2: shell request accepted on channel 0
    Last failed login: Thu Jun 28 19:16:02 CST 2018 from 112.85.42.201 on ssh:notty
    There were 396 failed login attempts since the last successful login.
    Last login: Thu Jun 28 18:52:28 2018 from 124.204.55.194
    [root@VM_128_5_centos ~]#

    分析了很久很多停顿时候以及前后的打印信息,对比

    这些客户端信息正常

    查看服务器日志:

    tail -f /var/log/messages

    登录时认证很快,并创建session

    Jun 28 19:22:35 localhost systemd: Started Session 134942 of user root.
    Jun 28 19:22:35 localhost systemd-logind: New session 134942 of user root.
    Jun 28 19:22:35 localhost systemd: Starting Session 134942 of user root.

    详细日志

    Jun 28 19:23:58 localhost sshd[30551]: Accepted password for root from 124.204.55.194 port 61347 ssh2
    Jun 28 19:23:58 localhost systemd: Started Session 134944 of user root.
    Jun 28 19:23:58 localhost systemd-logind: New session 134944 of user root.
    Jun 28 19:23:58 localhost systemd: Starting Session 134944 of user root.
    Jun 28 19:24:03 localhost systemd: Started Session 134945 of user root.
    Jun 28 19:24:03 localhost systemd: Starting Session 134945 of user root.
    Jun 28 19:25:01 localhost systemd: Started Session 134946 of user root.
    Jun 28 19:25:02 localhost systemd: Starting Session 134946 of user root.
    Jun 28 19:26:01 localhost systemd: Started Session 134947 of user root.
    Jun 28 19:26:01 localhost systemd: Starting Session 134947 of user root.
    Jun 28 19:27:01 localhost sshd[30887]: Failed password for root from 123.59.209.10 port 38628 ssh2
    Jun 28 19:27:01 localhost systemd: Started Session 134948 of user root.
    Jun 28 19:27:01 localhost systemd: Starting Session 134948 of user root.
    Jun 28 19:27:02 localhost sshd[30887]: Received disconnect from 123.59.209.10 port 38628:11: Normal Shutdown, Thank you for playing [preauth]
    Jun 28 19:27:02 localhost sshd[30887]: Disconnected from 123.59.209.10 port 38628 [preauth]
    Jun 28 19:28:01 localhost systemd: Started Session 134949 of user root.
    Jun 28 19:28:01 localhost systemd: Starting Session 134949 of user root.

    前面并没有这么多凭空的session产生,现在为什么这么多?

    线索:https://www.depesz.com/2010/12/13/a-tale-of-slow-ssh-connections/

    https://major.io/2015/07/27/very-slow-ssh-logins-on-fedora-22/

     https://serverfault.com/questions/707377/slow-ssh-login-activation-of-org-freedesktop-login1-timed-out#

    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=793814

  • 相关阅读:
    第二卷 Spring羊群理论
    logstash7.9.1-官方教程1-快速开始
    springboot-starter定制-Drools模块封装
    集群多节点动态刷新方案-Nacos配置修改监听
    Drools-决策表使用2-集成springboot
    Drools-决策表使用1-快速开始
    springboot-springmvc文件上传、下载、压缩打包
    Java8实用指北1-lambda表达式与函数式接口
    bug:IntrospectionException-Method not found异常与lombok
    res:bean属性复制避免null值覆盖版本
  • 原文地址:https://www.cnblogs.com/liugh-wait/p/9240340.html
Copyright © 2011-2022 走看看