0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Cisco SSHに接続できない時の切り分け手順まとめ|VTY・crypto key・aborted error status 0

0
Posted at

Cisco SSHに接続できない時の切り分け手順まとめ

ネットワークエンジニアとして現場で何度もハマってきた「CiscoのSSHが繋がらない」問題を、症状別の切り分け手順としてまとめました。深夜のメンテで焦らないためのチェックリストとして使ってください。

まずは症状で原因を絞る

症状 疑うべき原因 最初に打つコマンド
pingも通らない L3疎通・ACL・経路 show ip route / show access-lists
pingは通るがSSHだけNG VTY設定 / SSHサービス未起動 show ip ssh / show line vty 0 4
Connection refused が即返る crypto key 未生成 / SSH無効 show crypto key mypubkey rsa
no matching key exchange method クライアント・機器でアルゴリズム不一致 show ip ssh
aborted, error status 0 認証即切断 / login local 不整合 show users / debug ip ssh

pingが通るのにSSHだけNG、というケースが現場では一番多いです。原因の8割はVTY設定かcrypto key絡みなので、そこから優先的に確認します。

機器側の必須5点セット

CiscoでSSHを動かすには、以下が全部揃っている必要があります。

hostname CORE-SW01
ip domain-name example.local
crypto key generate rsa modulus 2048
ip ssh version 2
!
line vty 0 4
 transport input ssh
 login local
line vty 5 15
 transport input ssh
 login local
!
username admin privilege 15 secret StrongPass!23

ハマりどころは2つ。

  1. hostname → ip domain-name → crypto key generate の順を守る。順番が逆だと鍵名がデフォルトのままになって、後でhostname変えるとSSHが暗黙で死ぬことがあります。
  2. VTYは 0-4 と 5-15 の両方に transport input ssh を入れる。最近のIOS XEだと分かれているので、片方だけ設定してると同時接続数が増えた瞬間に繋がらなくなります。

「aborted, error status 0」の正体

機器ログに %SSH-5-SSH2_SESSION: SSH2 Session request from ... aborted, error status 0 が出る時は、認証フェーズで切れています。原因はだいたい3つに分類できます。

原因 確認方法 対処
クライアントが鍵交換途中で切る TeraTermのログでKEX不一致を確認 機器側でKEX追加 or クライアント更新
login local だが username未定義 `show run inc username`
AAAサーバ応答待ちタイムアウト test aaa group … RADIUS/TACACS復旧 or local fallback

最速は debug ip ssh detail を取ること。debug終わったら undebug all を忘れずに。

OpenSSH 8/9系で古いCiscoに繋がらない問題

OpenSSHが8.0以降になってから、IOS 12.xやASA 8.xに対して no matching key exchange method foundno matching host key type が出ます。レガシーアルゴリズムがクライアントから外されたのが原因です。

一時的に許可するワンライナー:

ssh -oKexAlgorithms=+diffie-hellman-group14-sha1 \
    -oHostKeyAlgorithms=+ssh-rsa \
    -oPubkeyAcceptedAlgorithms=+ssh-rsa \
    admin@192.168.10.1

恒久対応は ~/.ssh/config に書きます:

Host 192.168.10.*
  KexAlgorithms +diffie-hellman-group14-sha1
  HostKeyAlgorithms +ssh-rsa
  PubkeyAcceptedAlgorithms +ssh-rsa

本来は機器側のIOSアップグレードで対応すべきですが、保守期間切れ機器の救出にはこの手が有効。

切り分けチェックリスト(順番が大事)

深夜メンテで頭が回らない時用に、自分はこの順番で見ます。

  1. L3疎通: クライアント→機器、機器→クライアントの両方で ping
  2. SSHサービス: show ip ssh が Enabled か
  3. RSA鍵: show crypto key mypubkey rsa
  4. VTY設定: show run | sec line vty(0-4 と 5-15 両方)
  5. access-class: show access-lists のヒットカウンタ
  6. 認証: show run | inc username / aaa
  7. アルゴリズム不一致: クライアント側で ssh -v 打って KEX/HostKey を読む

⚠️ 切り分け中に transport input all を入れるのは絶対NG。Telnetも一緒に開いてしまいます。

詳しくはブログで

この記事の完全版(コマンド出力例、エラーメッセージ対応表、構成図つき)はブログで公開しています。ご参考まで。

👉 Cisco SSHが接続できない原因と切り分け手順|公開鍵・transport input設定の落とし穴【実機検証】

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?