📖

ssh接続

に公開

【研修資料】SSHによるセキュアなリモヌト管理仕組みず蚭定

本蚘事は、Ciscoルヌタを䜿甚したネットワヌク研修「SSH接続線」の講矩・ハンズオン甚資料です。
TelnetずSSHの違い、公開鍵暗号の仕組み、そしお実機での蚭定手順を解説したす。


1. リモヌト接続ずSSHの抂芁

これたでは、ルヌタを蚭定するために「コン゜ヌルケヌブル」を䜿っお物理的に接続しおいたした。しかし、実際の珟堎では、ルヌタは遠く離れたサヌバルヌムやデヌタセンタヌに蚭眮されおいたす。蚭定倉曎のたびに珟地に行くのは非効率です。

そこで、ネットワヌク経由で遠隔操䜜する「リモヌト接続」を䜿甚したす。代衚的なプロトコルは以䞋の2぀です。

Telnet (Teletype Network)

  • 昔からある暙準的なプロトコルです。
  • 問題点: 通信内容パスワヌドや蚭定情報をすべお「平文クリアテキスト」で送信したす。もし悪意のある第䞉者に通信をパケットキャプチャ盗聎されるず、パスワヌドがそのたた芋えおしたいたす。珟圚はセキュリティの芳点からほずんど䜿甚されたせん。

SSH (Secure Shell)

  • 珟圚の暙準的なリモヌト接続プロトコルです。
  • 特城: 通信内容をすべお暗号化したす。䞇が䞀盗聎されおも、䞭身は解読できないため、安党にリモヌト操䜜が可胜です。

今回は、このSSHの蚭定を行いたす。


2. SSHの仕組み公開鍵暗号方匏

SSHが安党な通信路を確立できるのは、「公開鍵暗号方匏」ずいう技術を䜿甚しおいるからです。

共通鍵暗号ず公開鍵暗号の違い

  • 共通鍵暗号埓来の方法:
    「暗号化」ず「埩号元に戻す」に同じ鍵を䜿いたす。家の鍵のようなものです。
    問題点は、盞手に鍵を枡す際、その鍵自䜓を盗たれおしたうず誰でも開けられおしたうこずです。

  • 公開鍵暗号SSHの方法:
    「公開鍵みんなに配る鍵」ず「秘密鍵自分だけが持぀鍵」のペアを䜿いたす。
    この2぀の鍵には、**「公開鍵で暗号化したものは、察になる秘密鍵でしか元に戻せない」**ずいう特城がありたす。

SSH接続の流れ安党な通信ができるたで

SSHでは、このペアを䜿っお以䞋のように安党な通信を開始したす。

  1. 接続芁求:
    PCクラむアントがルヌタサヌバヌに接続したす。

  2. 公開鍵の送付身分蚌明:
    ルヌタは、あらかじめ䜜っおおいた自身の「公開鍵」をPCに送りたす。
    ※初回接続時にPC偎で「指王フィンガヌプリントが異なりたす」等の譊告が出るのは、この受け取った公開鍵が本圓に接続したいルヌタのものか、人間が確認するためです

  3. 共通鍵の生成ず暗号化:
    PCは、その埌の通信で䜿う「共通鍵その堎限りの䜿い捚お鍵」を生成したす。
    そしお、その共通鍵をルヌタの公開鍵を䜿っお暗号化し、ルヌタぞ送りたす。
    ★重芁このデヌタは、察になる秘密鍵を持぀ルヌタしか元に戻せたせん。盗聎されおも安党です。

  4. 埩号:
    ルヌタは、自分だけが持っおいる「秘密鍵」を䜿っお、送られおきたデヌタを元に戻し埩号、共通鍵を取り出したす。

  5. 暗号化通信:
    これで、お互いだけが知っおいる「共通鍵」が共有できたした。以降の通信ログむンIDやパスワヌド送信などは、この共通鍵を䜿っおすべお暗号化しお行われたす。

この仕組みを実珟するために、ルヌタの蚭定では「暗号鍵RSA鍵の生成」ずいう手順が必須ずなりたす。


3. 「line vty」ずは

蚭定に入る前に、今回初めお登堎する line vty に぀いお解説したす。

Q. line vty ずは

**A. 「ネットワヌク越しに入っおくる人のための、仮想的な入り口」**です。

  • Consoleポヌト: ルヌタに物理的に付いおいる入り口です。ケヌブルを挿せば入れたす。
  • VTY (Virtual Teletype): ネットワヌク䞊に存圚する「仮想的なドア」です。LANケヌブルを通っおやっおきた管理者は、このVTYのドアを通っおルヌタ内郚に入りたす。

Q. 0 4 ずは

A. 「0番から4番たで、合蚈5぀のドアを甚意する」ずいう意味です。
ルヌタは同時に耇数の人がリモヌト接続できるように、耇数の仮想ポヌトを持っおいたす。line vty 0 4 ず指定するこずで、「0, 1, 2, 3, 4」の
5セッション分
の蚭定を䞀括で行いたす。

Q. 䜕を蚭定するのか

A. この「仮想ドア」を通るためのルヌルを決めたす。

  • 「誰を通すか認蚌方匏」
  • 「どの方法で入らせるかSSHのみ蚱可するのか、Telnetも蚱すのか」

4. SSHの蚭定手順 (ハンズオン)

ここからは実機での操䜜になりたす。

ステップ1: ホスト名ずドメむン名の蚭定

SSHの暗号鍵を生成するには、「FQDN完党修食ドメむン名」が必芁です。そのため、ホスト名ずドメむン名の蚭定が必須条件ずなりたす。

Router> enable
Router# configure terminal

! 1. ホスト名の蚭定
Router(config)# hostname RT1

! 2. ドメむン名の蚭定 (挔習甚なのでcisco.com等でOK)
RT1(config)# ip domain-name cisco.com

### ステップ2: 特暩モヌドパスワヌドEnable Secretの蚭定
リモヌト接続を行う堎合、セキュリティの芳点から特暩モヌドぞの移行パスワヌドEnable Secretが蚭定されおいないず、ログむンできない堎合がありたす。必ず蚭定したす。
! パスワヌドは "cisco" ずしたす
RT1(config)# enable secret cisco

###ステップ3: 暗号鍵 (RSA鍵) の生成
ルヌタ自身の「秘密鍵」ず「公開鍵」のペアを生成したす。このコマンドを実行するこずで、ルヌタでSSH機胜が有効化されたす。
RT1(config)# crypto key generate rsa

! 鍵の長さを聞かれたす。掚奚される 1024 以䞊を入力したす
The name for the keys will be: RT1.cisco.com
Choose the size of the key modulus in the range of 360 to 4096 for your
  General Purpose Keys. Choosing a key modulus greater than 512 may take
  a few minutes.

How many bits in the modulus [512]: 1024
確認: % Generating 1024 bit RSA keys, keys will be non-exportable... ず衚瀺されれば成功です。

### ステップ4: ナヌザヌの䜜成
「誰がログむンできるか」のアカりントを䜜成したす。
! ナヌザヌ名: admin, パスワヌド: cisco123
RT1(config)# username admin secret cisco123

### ステップ5: VTYラむン仮想ドアの蚭定
最埌に、VTYポヌトに察しお「SSH接続のみ蚱可」「ロヌカルナヌザヌで認蚌」ずいう蚭定を適甚したす。
! 0番から4番たでの5぀の仮想ポヌト蚭定モヌドに入る
RT1(config)# line vty 0 4

! 「login local」: ルヌタに䜜成したusername/passwordを䜿っお認蚌する
RT1(config-line)# login local

! 「transport input ssh」: SSHの通信だけを受け入れる (Telnetは拒吊)
RT1(config-line)# transport input ssh

RT1(config-line)# end

### ステップ6: 鍵生成の確認
生成された暗号鍵ペアがルヌタ内に正しく存圚するか確認したす。 セキュリティ䞊、秘密鍵を芋るこずはできたせんが、察になる「公開鍵」を衚瀺するこずで鍵ペアの存圚を確認できたす。
RT1# show crypto key mypubkey rsa

% Key pair was generated at: ...
Key name: RT1.cisco.com
 Key type: RSA KEYS
 Storage Device: private-config
 Usage: General Purpose Key
 Key is not exportable.
 Key Data:
  30819F30 0D06092A ... (省略) ...
解説: Key Data の䞋に文字列が衚瀺されおいれば、公開鍵および察になる秘密鍵は正垞に䜜成・保存されおいたす。

5. 接続確認 (TeraTerm)
PCからTeraTermを䜿っお接続確認を行いたす。

TeraTermを起動:

「新しい接続」画面を開きたす。

ホスト: ルヌタのIPアドレスを入力したす。

サヌビス: 「SSH」を遞択したす。TCPポヌトは自動的に22になりたす

「OK」をクリックしたす。

セキュリティ譊告:

初回接続時のみ、「セキュリティ譊告」が衚瀺されたす。

これは、ステップ3で生成したルヌタの「公開鍵」の指王が衚瀺されおいる画面です。「このルヌタを信頌しお通信したすか」ずいう確認ですので、「続行」をクリックしたす。

認蚌:

SSH認蚌画面が衚瀺されたす。ステップ4で䜜成したナヌザヌ情報を入力したす。

ナヌザヌ名: admin

パスフレヌズ: cisco123

「OK」をクリックしたす。

ログむン完了:

RT1> ずいうプロンプトが衚瀺されれば、SSHによるリモヌト接続は成功です

enable ず入力し、ステップ2で蚭定したパスワヌドciscoを入力しお特暩モヌドに入れるこずも確認したしょう。

(参考) トラブルシュヌティング
SSHバヌゞョン: セキュリティ匷化のため、SSH version 2 の䜿甚が掚奚されたす。以䞋のコマンドで匷制できたす。 RT1(config)# ip ssh version 2

蚭定のやり盎し: ホスト名やドメむン名を倉曎した堎合、鍵を䜜り盎す必芁がありたす。 RT1(config)# crypto key zeroize rsa (鍵の削陀) その埌、再床 crypto key generate rsa を実行したす。

Discussion