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 ルート ログインを無効にする方法
- Linux で SSH パスワードレス ログインをセットアップする方法
- Linux で非アクティブまたはアイドル状態の SSH 接続を切断する方法
この記事がお役に立てば幸いです。以下のコメントフォームから質問したり、意見を共有したりできます。