項目中的一臺阿里雲,最近一段時間出現ssh的時候,鏈接很是慢,大概輸入密碼後要10-20秒左右才能連上,如下記錄調查過程及解決辦法ubuntu
經過網上的一些查詢,發現大都是由於設置dns,hosts或者經過關閉UseDNS=no GSSAPIAuthentication no的方式來解決,但個人問題和這些不一樣,首先我是經過ip鏈接的,不存在dns域名解析的問題,而且sshd_config文件中的這些設置項也都是no,所以本身經過調查,發現是如下緣由引發的:bash
1.經過[-v]參數,查看ssh鏈接的具體過程服務器
deMacBook-Pro:~ yyq$ ssh -v root@x.x.x.x -p xx OpenSSH_6.9p1, LibreSSL 2.1.8 debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 21: Applying options for * debug1: Connecting to x.x.x.x [x.x.x.x] port xx. debug1: Connection established. debug1: identity file /Users/yyq/.ssh/id_rsa type 1 debug1: key_load_public: No such file or directory debug1: identity file /Users/yyq/.ssh/id_rsa-cert type -1 debug1: identity file /Users/yyq/.ssh/id_dsa type 2 debug1: key_load_public: No such file or directory debug1: identity file /Users/yyq/.ssh/id_dsa-cert type -1 debug1: key_load_public: No such file or directory debug1: identity file /Users/yyq/.ssh/id_ecdsa type -1 debug1: key_load_public: No such file or directory debug1: identity file /Users/yyq/.ssh/id_ecdsa-cert type -1 debug1: key_load_public: No such file or directory debug1: identity file /Users/yyq/.ssh/id_ed25519 type -1 debug1: key_load_public: No such file or directory debug1: identity file /Users/yyq/.ssh/id_ed25519-cert type -1 debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_6.9 debug1: Remote protocol version 2.0, remote software version OpenSSH_7.2p2 Ubuntu-4ubuntu2.1 debug1: match: OpenSSH_7.2p2 Ubuntu-4ubuntu2.1 pat OpenSSH* compat 0x04000000 debug1: Authenticating to x.x.x.x:xx as 'root' debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug1: kex: server->client chacha20-poly1305@openssh.com <implicit> none debug1: kex: client->server chacha20-poly1305@openssh.com <implicit> none debug1: expecting SSH2_MSG_KEX_ECDH_REPLY debug1: Server host key: ecdsa-sha2-nistp256 SHA256:HictrRpAs7Yv495dDLNqHsFCNKXVACpX9FWUnNVenZU debug1: Host '[x.x.x.x]:xx' is known and matches the ECDSA host key. debug1: Found key in /Users/yyq/.ssh/known_hosts:38 debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS received debug1: SSH2_MSG_SERVICE_REQUEST sent debug1: SSH2_MSG_SERVICE_ACCEPT received debug1: Authentications that can continue: publickey,password debug1: Next authentication method: publickey debug1: Offering RSA public key: /Users/yyq/.ssh/id_rsa debug1: Authentications that can continue: publickey,password debug1: Offering DSA public key: /Users/yyq/.ssh/id_dsa debug1: Authentications that can continue: publickey,password debug1: Trying private key: /Users/yyq/.ssh/id_ecdsa debug1: Trying private key: /Users/yyq/.ssh/id_ed25519 debug1: Next authentication method: password root@x.x.x.x's password:
首先觀察在要求輸入密碼前有沒有出現耗時的操做?
個人問題並無,所以,繼續輸出密碼:session
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.
輸入密碼後,發現停在這裏了,大概10-20秒後,就能夠鏈接上;ssh
經過日誌能夠發現,密碼的驗證沒有損耗時間,已經正確驗證經過Authentication succeeded (password)
哪麼究竟是什麼緣由致使的速度這麼慢?ide
2.打開服務器的系統日誌,查看ui
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能夠秒鏈接了debug