• 解决ssh登录过慢问题


    1.首先打开debug,看看慢在哪里

    [root@BC-NFS1 ~]# ssh -v root@192.168.102.41 -p 22
    OpenSSH_6.6.1, OpenSSL 1.0.1e-fips 11 Feb 2013
    debug1: Reading configuration data /etc/ssh/ssh_config
    debug1: /etc/ssh/ssh_config line 56: Applying options for *
    debug1: Connecting to 192.168.102.41 [192.168.102.41] port 22.
    debug1: Connection established.
    debug1: permanently_set_uid: 0/0
    debug1: identity file /root/.ssh/id_rsa type 1
    debug1: identity file /root/.ssh/id_rsa-cert type -1
    debug1: identity file /root/.ssh/id_dsa type -1
    debug1: identity file /root/.ssh/id_dsa-cert type -1
    debug1: identity file /root/.ssh/id_ecdsa type -1
    debug1: identity file /root/.ssh/id_ecdsa-cert type -1
    debug1: identity file /root/.ssh/id_ed25519 type -1
    debug1: identity file /root/.ssh/id_ed25519-cert type -1
    debug1: Enabling compatibility mode for protocol 2.0
    debug1: Local version string SSH-2.0-OpenSSH_6.6.1
    debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1
    debug1: match: OpenSSH_6.6.1 pat OpenSSH_6.6.1* compat 0x04000000
    debug1: SSH2_MSG_KEXINIT sent
    debug1: SSH2_MSG_KEXINIT received
    debug1: kex: server->client aes128-ctr hmac-md5-etm@openssh.com none
    debug1: kex: client->server aes128-ctr hmac-md5-etm@openssh.com none
    debug1: kex: curve25519-sha256@libssh.org need=16 dh_need=16
    debug1: kex: curve25519-sha256@libssh.org need=16 dh_need=16
    debug1: sending SSH2_MSG_KEX_ECDH_INIT
    debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
    debug1: Server host key: ECDSA 52:28:48:e7:49:2a:c3:56:78:c1:ea:78:58:56:ab:27
    debug1: Host '192.168.102.41' is known and matches the ECDSA host key.
    debug1: Found key in /root/.ssh/known_hosts:2
    debug1: ssh_ecdsa_verify: signature correct
    debug1: SSH2_MSG_NEWKEYS sent
    debug1: expecting SSH2_MSG_NEWKEYS
    debug1: SSH2_MSG_NEWKEYS received
    debug1: Roaming not allowed by server
    debug1: SSH2_MSG_SERVICE_REQUEST sent
    debug1: SSH2_MSG_SERVICE_ACCEPT received
    debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
    debug1: Next authentication method: gssapi-keyex
    debug1: No valid Key exchange context
    debug1: Next authentication method: gssapi-with-mic
    debug1: Unspecified GSS failure.  Minor code may provide more information
    No Kerberos credentials available (default cache: FILE:/tmp/krb5cc_0)
    
    debug1: Unspecified GSS failure.  Minor code may provide more information
    No Kerberos credentials available (default cache: FILE:/tmp/krb5cc_0)
    
    debug1: Next authentication method: publickey
    debug1: Offering RSA public key: /root/.ssh/id_rsa
    debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
    debug1: Trying private key: /root/.ssh/id_dsa
    debug1: Trying private key: /root/.ssh/id_ecdsa
    debug1: Trying private key: /root/.ssh/id_ed25519
    debug1: Next authentication method: password
    root@192.168.102.41's password: 
    View Code

    2.修改配置文件

    在被远程登录的服务器上执行以下操作
    vi /etc/ssh/sshd_config UseDNS no
    看到我的debug信息有这些,说明还需要修改/etc/ssh/sshd_config
    debug1: Next authentication method: gssapi-with-mic debug1: Unspecified GSS failure. Minor code may provide more information
    vi /etc/ssh/ssh_config
    GSSAPIAuthentication no

    3.重启服务

    systemctl restart sshd

    有的人的问题出在输入密码之后要等待10-20s

    root@x.x.x.x's password:
    debug1: Authentication succeeded (password).
    Authenticated to x.x.x.x ([x.x.x.x]:xx).
    debug1: channel 0: new [client-session]
    debug1: Requesting no-more-sessions@openssh.com
    debug1: Entering interactive session.

    通过日志可以发现,密码的验证没有损耗时间,已经正确验证通过Authentication succeeded (password)
    哪么到底是什么原因导致的速度这么慢?

    打开服务器的系统日志,查看

    tail -f /var/log/auth.log
    sshd[12642]: pam_systemd(sshd:session): Failed to create session: Connection timed out
    dbus[617]: [system] Failed to activate service 'org.freedesktop.login1': timed out
    sshd[12642]: Received disconnect from x.x.x.x port 52856:11: disconnected by user
    sshd[12642]: Disconnected from x.x.x.x port 52856
    sshd[12642]: pam_unix(sshd:session): session closed for user root
    sshd[12689]: userauth_pubkey: key type ssh-dss not in PubkeyAcceptedKeyTypes [preauth]
    sshd[12689]: Accepted password for root from x.x.x.x port 52866 ssh2
    sshd[12689]: pam_unix(sshd:session): session opened for user root by (uid=0)
    sshd[12689]: pam_systemd(sshd:session): Failed to create session: Connection timed out
    dbus[617]: [system] Failed to activate service 'org.freedesktop.login1': timed out

    从日志中可以看到[system] Failed to activate service 'org.freedesktop.login1': timed out

    的错误,查了下资料,大致意思如下:
    dbus的服务重启后,systemd-logind服务没有重启导致,可以查看systemctl status systemd-logind的状态,解决方法就是重启该服务 systemctl restart systemd-logind
    重启systemd-logind服务后,发现ssh可以秒连接了

  • 相关阅读:
    SpringBoot使用token简单鉴权
    SpringBoot-dubbo自定义负载均衡实现简单灰度
    SpringBoot基于数据库实现简单的分布式锁
    使用canal增量同步mysql数据库信息到ElasticSearch
    使用go-mysql-elasticsearch同步mysql数据库信息到ElasticSearch
    使用logstash同步mysql数据库信息到ElasticSearch
    extract()函数:用于从一个date或者interval类型中截取到特定的部分
    转://IO的基础概念
    转://MySQL客户端工具的选择
    转://oracle 软件的收费模式
  • 原文地址:https://www.cnblogs.com/liangjiongyao/p/9801135.html
Copyright © 2020-2023  润新知