• SSH登录主机慢排查步骤


    连接现象

          通过XShell客户端能够与该服务器建立ssh连接,但是建立连接过程比较慢,耗时1分钟左右,而且连接成功后发现该服务器比较卡
          首先使用重启后,XShell连接该服务器依然缓慢,但是连接成功后,服务器不再卡顿

    修改sshd配置

          vi /etc/ssh/sshd_config
          修改sshd_config,设置UseDNS为no
          修改sshd_config,设置UsePAM为no

    PAM认证

             查看ssh的PAM设置

             当注销掉/etc/pam.d/sshd中以下内容后,ssh登录慢的问题可以解决

              

    password-auth的PAM配置

           cat /etc/pam.d/password-auth

         

     原因分析

         pam_systemd 将用户会话注册到 systemd 登录管理器(也就是 systemd-logind.service(8) 服务)中, 因此也同时注册到了 systemd 控制组(control group)之中
         在登录(login)时,此模块与 systemd-logind.service 服务一起, 确保实现如下功能:
         如果用户运行时目录(/run/user/$UID)不存在, 那么就创建该目录或者以"tmpfs"文件系统挂载该目录, 同时根据登录用户为该目录设置磁盘配额、属主与属组。
         设置 $XDG_SESSION_ID 环境变量的值。 如果开启了审计并且 pam_loginuid.so 运行在此模块之前(强烈建议这么做), 那么将使用审计会话ID(/proc/self/sessionid)的值, 否则将使用独立的会话计数器的值。
         为会话创建一个新的 scope 单元。如果此会话是该用户多个并行会话中第一个建立的会话, 那么将会在 user.slice 之下自动创建一个针对该用户的 slice 单元,并将新建的 scope 单元置于其中。 按照会话用户的身份启动一个 user@.service 系统服务实例 (也就是运行一个 systemd 用户实例)。
          在退出(logout)时,此模块确保实现如下功能:
          如果在 logind.conf(5) 中设置了 KillUserProcesses=yes (无论明确还是隐含), 那么将会杀死会话中的所有进程。如果此会话是该用户多个并行会话中最后一个退出的会话, 那么还会同时终止该用户的systemd用户实例以及slice单元
          如果此会话是该用户多个并行会话中最后一个退出的会话, 那么将会删除该用户的运行时目录(/run/user/$UID) 以及其中的所有内容

          所以ssh登录缓慢的原因的原因在于:
          systemd-logind.service
          systemd-logind 是一个管理用户登录的系统服务

          持续跟踪用户的会话、进程、空闲状态。 这将在 user.slice 之下,为每个用户分配一个 slice 单元、为每个用户的当前会话分配一个 scope 单元。 同时,针对每个已登录的用户,将会启动一个专属的服务管理器(作为 user@.service 模版的一个实例)。
          生成并管理"session ID"。如果启用了审计并且已经为一个会话设置了审计"session ID", 那么该ID也将同时被用作"session ID", 否则将会使用一个独立的会话计数器(也就是独立生成一个"session ID")。
          为用户的特权操作(例如关闭或休眠系统) 提供基于 polkit 的认证与授权
          为应用程序实现 阻止关闭/休眠系统的逻辑
          处理 硬件关机/休眠按钮的动作
         多席位(Multi-Seat)管理
         会话切换管理
         管理用户对设备的访问
         在启动虚拟终端时 自动启动文本登录程序(agetty), 并管理用户的运行时目录
         用户会话是通过 pam_systemd(8) PAM 模块 在 logind 中注册的

    解决步骤

            systemctl restart systemd-logind.service

            一切恢复正常,ssh登录秒连,su操作秒切用户

           

    新装系统无法远程SSH远程登录 

            Failed password for root from x.x.x.x portxxxx ssh2

           各种配置文件中的权限设置都没有禁止root登录,防火墙也没开

           新安装的arch只有一个root用户,使用root用户来进行日常系统管理是很危险的事情。
           所以Linux中为了更进一步加强系统的安全性,需要自己添加用户到管理员到“wheel”组。
           这时候添加一个用户到wheel组就可以使用它登录了

              

           useradd -m -G wheel -s /bin/bash admin
           passwd admin

           

  • 相关阅读:
    find命令 -- 之查找指定时间内修改过的文件
    nginx
    lighttpd 搭建
    mysql主从复制5.6基于GID及多线程的复制笔记
    centos下MySQL主从同步配置
    数据库集群搭建
    linux 系统监控、诊断工具之 top 详解
    Linux下Apache并发连接数和带宽控制
    DXGI屏幕捕捉
    CUDA以及CUDNN安装配置(WIN10为例)
  • 原文地址:https://www.cnblogs.com/yxh168/p/16582191.html
Copyright © 2020-2023  润新知