网站搜索

如何启用 SSH 调试模式来排除 SSH 连接故障


在本文中,我们将向您展示如何在 Linux 中运行 SSH 时打开调试模式。这将使您能够看到当您使用详细模式或调试模式执行 ssh 命令连接到远程 Linux 服务器时实际发生的情况。

ssh 客户端的 -v 开关允许您在详细模式下运行 ssh,该模式会打印有关 SSH 连接进度的调试信息,这对于调试连接、身份验证和任何配置问题非常有用。

有不同程度的冗长;使用多个 -v 标志会增加详细程度(最大详细程度为 3)。

  • ssh -v – 会告诉您主要发生了什么。
  • ssh -vv – 将通知您两端的级别都较低。
  • ssh -vvv – 将通知您两端的所有信息。

以下命令将以第一详细级别运行 SSH,这为我们提供了大量调试信息,如图所示。

aaronkilik@tecmint ~ $ ssh -v [email 

样本输出
OpenSSH_7.2p2 Ubuntu-4ubuntu2.2, OpenSSL 1.0.2g-fips  1 Mar 2016
debug1: Reading configuration data /home/aaronkilik/.ssh/config
debug1: /home/aaronkilik/.ssh/config line 18: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 192.168.56.10 [192.168.56.10] port 22.
debug1: Connection established.
debug1: identity file /home/aaronkilik/.ssh/id_rsa type 1
debug1: key_load_public: No such file or directory
debug1: identity file /home/aaronkilik/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/aaronkilik/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/aaronkilik/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/aaronkilik/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/aaronkilik/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/aaronkilik/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/aaronkilik/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.2
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.4
debug1: match: OpenSSH_7.4 pat OpenSSH* compat 0x04000000
debug1: Authenticating to 192.168.56.10:22 as 'tecmint'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: [email 
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: [email  MAC:
compression: [email 
debug1: kex: client->server cipher: [email  MAC:
compression: [email 
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ecdsa-sha2-nistp256 
SHA256:1778erqyug4tHJa7D6y/Ep4UWsUtNEOBSMaj32k9oO8
debug1: Host '192.168.56.10' is known and matches the ECDSA host key.
debug1: Found key in /home/aaronkilik/.ssh/known_hosts:8
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<rsa-sha2-256,rsa-sha2-512>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: 
publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/aaronkilik/.ssh/id_rsa
debug1: Server accepts key: pkalg rsa-sha2-512 blen 279
debug1: Enabling compression at level 6.
debug1: Authentication succeeded (publickey).
Authenticated to 192.168.56.10 ([192.168.56.10]:22).
debug1: channel 0: new [client-session]
debug1: Requesting [email 
debug1: Entering interactive session.
debug1: pledge: network
debug1: client_input_global_request: rtype [email  
want_reply 0
debug1: Sending environment.
debug1: Sending env LC_PAPER = lg_UG.UTF-8
debug1: Sending env LC_ADDRESS = lg_UG.UTF-8
debug1: Sending env LC_MONETARY = lg_UG.UTF-8
debug1: Sending env LC_NUMERIC = lg_UG.UTF-8
debug1: Sending env LC_TELEPHONE = lg_UG.UTF-8
debug1: Sending env LC_IDENTIFICATION = lg_UG.UTF-8
debug1: Sending env LANG = en_US.UTF-8
debug1: Sending env LC_MEASUREMENT = lg_UG.UTF-8
debug1: Sending env LC_NAME = lg_UG.UTF-8
Last login: Sat Jan  6 16:20:11 2018 from 192.168.56.1

当尝试注销或退出会话时,您还将看到如图所示的调试消息。

[tecmint@tecmint ~]$ exit

logout
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype [email  reply 0
debug1: channel 0: free: client-session, nchannels 1
Connection to 192.168.56.10 closed.
Transferred: sent 3392, received 3120 bytes, in 118.1 seconds
Bytes per second: sent 28.7, received 26.4
debug1: Exit status 0
debug1: compress outgoing: raw data 1159, compressed 573, factor 0.49
debug1: compress incoming: raw data 573, compressed 1159, factor 2.02

接下来,您可以为更多调试消息启用额外的(2 级和 3 级)详细程度,如图所示。

ssh -vv [email 
ssh -vvv [email 

就是这样!有关SSH的更多使用,请阅读以下相关文章。

  • 如何保护和强化 OpenSSH 服务器
  • Linux 中防止 SSH 暴力登录攻击的 5 个最佳实践
  • 如何在 Linux 中查找所有失败的 SSH 登录尝试
  • 如何在 Linux 中禁用 SSH Root 登录
  • 如何在 Linux 中设置 SSH 无密码登录
  • 如何在 Linux 中断开不活动或空闲的 SSH 连接

我们希望这篇文章对您有所帮助。您可以通过下面的评论表提出任何问题或分享想法。