※当サイトの記事には、広告・プロモーションが含まれます。

Cisco IOS搭載機器にSSHユーザーを追加してSSH接続できるようにしたいだけなんだが...

enterprisezine.jp

 2023年6月、突如としてRed HatRed Hat Enterprise LinuxRHEL)のソースコードの公開方針を変更し、配付対象を顧客とパートナーのみに限定した。その影響は大きく、2024年6月には、RHELと機能的な互換性があるフリーのLinuxディストリビューションCentOS 7」のサポートも終了。これを受け、移行先のLinux OSを模索するユーザーには混乱が見られる。

CentOS終了後の選択肢は? AlmaLinuxを支えるセレツキー氏に訊く、Linux市場の現在地 (1/3)|EnterpriseZine(エンタープライズジン)

 「自社で投資、維持管理しているLinuxを無償で利用せずに、ライセンス費用を払ってほしいというRed Hatの方針変更は、市場に大きな影響をもたらしています」と言うのは、イゴール・セレツキー氏だ。CloudLinuxは、CentOSの代替となり得る「AlmaLinux」の開発を支援し、さらにCentOS 8の延長サポートを提供するなど、CentOSユーザーの移行を積極的に支援する企業だ。

CentOS終了後の選択肢は? AlmaLinuxを支えるセレツキー氏に訊く、Linux市場の現在地 (1/3)|EnterpriseZine(エンタープライズジン)

 CentOSの移行先としては現状、一部のエンタープライズ市場ではOracle Linuxを、Amazon Web ServicesAWS)に限定すればAmazon Linuxも挙げられるだろう。また、RHELとの互換性はないが、欧州などではUbuntuへの移行も一部見られる。とはいえ、セレツキー氏によれば、「移行先のマジョリティは、AlmaLinuxとRocky Linuxです」と話す。Rocky Linuxは、CentOSの共同創設者であるGregory Kurtzer氏により開発され、AlmaLinuxと同様にRHELとのバイナリ互換性を持ち、コミュニティ主導で運営されているLinuxディストリビューションだ。

CentOS終了後の選択肢は? AlmaLinuxを支えるセレツキー氏に訊く、Linux市場の現在地 (1/3)|EnterpriseZine(エンタープライズジン)

⇧ 一応、海外においても、

のどちらかが選択肢になることが多いと。

方針としては、

■AlmaLinux

 たとえばAlmaLinux 9.2は、「FIPS 140-3」認証の取得を目指しており、既に一部モジュールでは認証を取得している。FIPS(Federal Information Processing Standards)は、米国政府が定めた情報処理に関する標準規格。FIPS 140は、暗号モジュールのセキュリティ要件を規定しており、FIPS 140-3認証を取得した製品は、米国政府機関などでの使用が可能だ。

CentOS終了後の選択肢は? AlmaLinuxを支えるセレツキー氏に訊く、Linux市場の現在地 (2/3)|EnterpriseZine(エンタープライズジン)

 FIPSへの対応について、「元々はCentOSが担っていましたが、そこをAlmaLinuxが担えるようになりました。一方でRocky Linuxは、FIPS認証を受けていません。この点において、AlmaLinuxに優位性があると言えるでしょう」とセレツキー氏は指摘する。

CentOS終了後の選択肢は? AlmaLinuxを支えるセレツキー氏に訊く、Linux市場の現在地 (2/3)|EnterpriseZine(エンタープライズジン)

 もう一つ、AlmaLinuxは、RHELとのソースコードレベルでの互換性ではなく、RHEL上でコンパイルされたアプリケーションが、AlmaLinux上でも問題なく実行できることを保証する「ABI(Application Binary Interface)互換性」という路線を選んだ点も特徴的だ。

CentOS終了後の選択肢は? AlmaLinuxを支えるセレツキー氏に訊く、Linux市場の現在地 (3/3)|EnterpriseZine(エンタープライズジン)

■Rocky Linux

 コードレベルの互換性を担保する場合、RHELソースコードをほぼそのまま利用するため、バグも含めて再現することで、RHEL上で動作するアプリケーションが同じように動作することを保証するものだった。

CentOS終了後の選択肢は? AlmaLinuxを支えるセレツキー氏に訊く、Linux市場の現在地 (3/3)|EnterpriseZine(エンタープライズジン)

⇧ と、互換性においては、「Rocky Linux」の方が慎重派という感じになるのかね。

Cisco IOSとは

Wikipediaによりますと、

Cisco Internetworking Operating System (Cisco IOS) は、シスコシステムズ製のほとんどのルータースイッチで使用されているソフトウェアである。ウィリアム・イェーガー英語版によって開発された。

Cisco Internetworking Operating System - Wikipedia

⇧ とのこと。

「OS(Operation System)」の1種であり、正式名称は「Cisco Internetworking Operating System」で、略称が「Cisco IOS」でありますと。

概要

Cisco IOSは、マルチタスクオペレーティングシステム (OS) と統合されたルーティングスイッチングインターネットワーキングおよびテレコミュニケーション機能のパッケージである。

Cisco Internetworking Operating System - Wikipedia

コマンドラインインターフェース (CLI) を有しており、他社のネットワーク製品もCisco IOSを模倣しているため、同じコマンドが実行可能である場合が多い。

Cisco Internetworking Operating System - Wikipedia

使用可能なコマンドは、CLIの「モード」と権限レベルによって決定される。

Cisco Internetworking Operating System - Wikipedia

「グローバルコンフィグレーションモード」であれば、システム全体の設定を変更するコマンドを実行できるが、「インターフェイスコンフィグレーションモード」では、インターフェイスの設定を変更するコマンドを実行できる。

Cisco Internetworking Operating System - Wikipedia

すべてのコマンドは0から15までの権限レベルを割り当てられており、ユーザーは自分の持つ権限レベルに応じてコマンドを実行することができる。

Cisco Internetworking Operating System - Wikipedia

⇧とあり、「Cisco」製の

のほとんどで、「Cisco IOS」が利用されているらしい。

Cisco IOSへの接続方法

で、「Cisco IOS」搭載機器へ接続する方法については、

www.infraexpert.com

Cisco機器にアクセスする方法、つまりCisco機器のIOSにアクセスする方法は、大きく3種類あります。

Ciscoデバイスの操作 - Cisco IOSソフトウェアとは

⇧ 上記サイト様によりますと、3種類があるようで、一般的なLinuxディストリビューションにおけるSSH接続は、

No 一般的なLinux Cisco IOS
1 SSH接続 VTY接続
2 telnet接続 VTY接続

⇧ といった感じで、「Cisco IOS」では独自の接続方法とされており、「治外法権」の如く、独自のルールがあるということらしく絶望しかない...

そして、悲報は続く...

tech.pjin.jp

Cisco IOSのモード

CiscoIOSの操作を行う際は、IOSが提供している様々なコマンドを用いて設定していきます。ただし、ログインした直後に全ての設定を行えるわけではなく、機能に応じていくつかのモードに分かれています。
機器にコマンドを投入する際は、適したモードで実行しなければなりません。モードの一覧は以下のようになっています。

【独学CCNA】037.CiscoIOSのモード | TECH PROjin

各モードは上記のようにそれぞれ役割が異なっており、扱えるコマンドも変わります。例えば、ログイン直後の状態であるユーザーモードではごく一部の情報確認しか行えません。何かしらの設定変更を行いたい場合は、それに適したモードに移行してから実行しなければなりません。
モードの移行には以下のようなコマンドを使用します。

【独学CCNA】037.CiscoIOSのモード | TECH PROjin

⇧「モード」というものが用意されているようなのだけど、「モード」の全量は不明であると...

まぁ、「接続方法」についても、

Cisco機器のIOSにアクセスする方法は、大きく3種類あります。

とあるので、全量は不明なんだけど...

Cisco IOS搭載機器にSSHユーザーを追加してSSH接続できるようにしたいだけなんだが...

今回は、SSH接続できる状態であるところまで環境が構築できているようなので、SSH接続できた状態からの作業としては、

  1. 現在のホスト名を確認する
  2. ホスト名の一覧を確認する
  3. ホスト名を切り替える
  4. 現在のホスト名を確認する
  5. SSHユーザーの一覧を確認する
  6. SSHユーザーを追加する
  7. SSHユーザーの一覧を確認する

と言った感じのことが実現できる「コマンド」が必要になりそうなのだが、「モード」との関連が分からんし、そもそも「コマンド」が用意されているのかがサッパリ分からない...

ChatGPTに質問した内容を、ネットの情報を検索して修正した感じ、以下のような内容になった。

No 操作内容 コマンド モード モード切替要否
1 Linux環境からSSH接続した直後 目視でプロンプトを確認 ユーザーモード 不要
2 現在のホスト名を確認する enable
show running-config
特権EXECモード 必要
3 ホスト名の一覧を確認する show running-config 特権EXECモード 不要
4 ホスト名を切り替える conf t
hostname <新しいホスト名>
グローバルコンフィグモード 必要
5 現在のホスト名を確認する exit
show running-config
特権EXECモード 必要
6 SSHユーザーの一覧を確認する show running-config 特権EXECモード 不要
7 SSHユーザーを追加する conf t
username <ユーザー名> privilege <特権レベル> secret <パスワード>
グローバルコンフィグモード 必要
8 SSHユーザーの一覧を確認する exit
show running-config
特権EXECモード 必要
7 SSHログアウト exit 特権EXECモード 不要

⇧ 上記の情報の妥当性が分からん...

とりあえず、

xtech.nikkei.com

www.secuavail.com

⇧ 現在の「モード」の確認については、「プロンプト」を目視で確認するしか術が無いらしいということで絶望しかない...

Cisco IOS」 の公式のドキュメントによると、

www.cisco.com

⇧ 上記のような感じでまとまられている。

No コマンドモード プロンプト
1 ユーザー EXEC Router>
2 特権 EXEC Router#
3 グローバル コンフィギュレーション Router(config)#
4 インターフェイス コンフィギュレーション Router(config-if)#
5 サブインターフェイス コンフィギュレーション Router(config-subif)#
6 ROM モニタ 以下のいずれか
  • >
  • boot>
  • rommon>

⇧ 何と言うか、「コマンド」で確認する方法が無いって、辛過ぎるんだが...

当方、「Cisco IOS」の知見が皆無なので、

www.infraexpert.com

 Ciscoルータへtelnet接続したい場合、Ciscoルータ側の設定は先に紹介した通り line vty の部分にpasswordコマンドとloginコマンドを入力すればいいだけです。が、CiscoルータへSSH接続したい場合は、SSHサーバとして動作させるための色々な設定が必要となります。その手順は紹介します。
※ telnetSSHの違いについては「 TCP/IPをはじめから - Telnet/SSHとは」をご参照ください。

Ciscoルータ - SSHの設定

⇧ ネットワークエンジニアの方の手順を参考にさせてもらうことにしたいのだけど、

  1. 現在のホスト名を確認する
  2. ホスト名の一覧を確認する
  3. ホスト名を切り替える

⇧ 上記の確認の手順について触れられていない...

切り戻しの方法とかの記載も無いし、一発勝負な感じは避けたいんだが...

ソフトウェアエンジニアが手を出すような領域じゃない気がするんだけど、業務で振られたので致し方ないということですかね...

不具合が起きること間違いない気がしますな...

Cisco IOS」に関わりたくないですな...

毎度モヤモヤ感が半端ない…

今回はこのへんで。