Ciscoルータで学ぶネットワーク > SSHで接続する
当サイト概要CCNA・CCENT・資格書籍学習環境の準備リンクについてリンクの申込お問い合せプライバシーポリシー
◆SSHで接続する

SSHの設定


 SSH(セキュアシェル)は、ネットワークデバイスへセキュアなターミナルエミュレーション接続を確立するために使用されるプロトコルです。SSHを使用してルータを管理することができます。

 Telnetでは、クライアントとサーバ間の認証や暗号化を行うことができません。つまり、ネットワーク上に流れるトラフィックをスニファを使用することで傍受されてしまう恐れがあります。SSHは、Telnetと同様にTCP/IPベースのプロトコルで、セキュアな接続ができることから、Telnetに取って代りつつあります。

ここでは、ルータにSSH接続を行う方法を紹介してゆきます。

PCとルータとの接続は、下の図のようにします。


◆IPアドレスを割り当てる

PCとルータが通信できるようにルータのF0インタフェースにIPアドレスを割り当てる必要があります。

ここでは、ドメイン名は、適当に「ccna.com」にしています。

Router(config)#hostname Router_A
Router_A(config)#ip domain-name ccna.com
Router_A(config)#interface f0
Router_A(config-if)#ip address 192.168.1.1 255.255.255.0
Router_A(config-if)#no shutdown
Router_A(config-if)#exit

◆特権レベル15で定義されたユーザアカウントを作成する

 adminユーザの特権レベルは、15(最高)であり、特権レベル15がvty回線に設定されているため、TelnetもしくはSSHで接続では、特権レベル15で定義されたユーザアカウントが要求されます。

ここでは、ユーザ名「ccnaccnp」、パスワード「ccnaccnp」でユーザアカウントを作成しておきます。

Router_A(config)#username ccnaccnp privilege 15 password 0 ccnaccnp

 次のように、Telnet(0〜4)回線に対して、特権レベル15を割り当て、ローカルログイン、SSH/Telnetを設定します。

Router_A(config)#line vty 0 4
Router_A(config-line)#privilege level 15
Router_A(config-line)#login local
Router_A(config-line)#transport input telnet ssh
Router_A(config-line)#exit

◆ルータのRSA暗号キーペアを生成する

Router_A(config)#crypto key generate rsa

デフォルトのモジュラスビットの数値は、512です。ここでは、デフォル値で生成します。

Router_A(config)#crypto key generate rsa
The name for the keys will be: Router_A.ccna.com
Choose the size of the key modulus in the range of 360 to 2048 for your
  General Purpose Keys. Choosing a key modulus greater than 512 may take
  a few minutes.

How many bits in the modulus [512]:
% Generating 512 bit RSA keys, keys will be non-exportable...[OK]

Router_A(config)#

上で紹介した設定は、グローバル設定モードで以下のコンフィグを流し込むことでも設定できます。

hostname Router_A
ip domain-name ccna.com
interface f0
ip address 192.168.1.1 255.255.255.0
no shutdown
exit
ip http server
ip http secure-server
ip http authentication local
username ccnaccnp privilege 15 password 0 ccnaccnp
line vty 0 4
privilege level 15
login local
transport input telnet ssh
exit

◆show ip ssh

SSHが有効で、どのバージョンが使用されているかを確認するには、「show ip ssh」コマンドを使用します。

Router_A#show ip ssh

●「show ip ssh」の出力
Router_A#show ip ssh
SSH Enabled - version 1.99
Authentication timeout: 120 secs; Authentication retries: 3

「Tera Term」は、シリアルを経由したターミナル接続だけでなく、TelnetやSSHの接続もサポートしています。

「TCP/IPホスト」を選択し、宛先に「192.168.1.1」を、サービスに「SSH」を選択して「OK」ボタンをクリックします。


「セキュリティ警告」が表示されます。

「続行」をクリックします。


「SSH認証」では、以下のように入力します。

ユーザ名: ccnaccnp
パスフレーズ: ccnaccnp

入力が終わったら、「OK」ボタンをクリックします。


すると下のように、SSHでの接続が確立されます。


このように、Ciscoルータでは、簡単にSSHを使用した接続ができるようになっています。


sshを確認するコマンド


◆show ip ssh

SSHが有効で、どのバージョンが使用されているかを確認するには、「show ip ssh」コマンドを使用します。

Router_A#show ip ssh

●「show ip ssh」の出力
Router_A#show ip ssh
SSH Enabled - version 1.99
Authentication timeout: 120 secs; Authentication retries: 3

 SSHを使用するルータやスイッチに接続するには、「Tera Term」などのGUIクライアントを搭載したターミナルソフトウェアを使用することもできます。

ここでは、Router_AのCLI SSHクライアントを使用して、ルータに接続して行きます。

ログインオプションを表示してみます。

Router_A#ssh ?
  -c    Select encryption algorithm
  -l    Log in using this user name
  -m    Select HMAC algorithm
  -o    Specify options
  -p    Connect to this port
  -v    Specify SSH Protocol Version
  WORD  IP address or hostname of a remote system

Router_A#ssh -l admin ?
  -c    Select encryption algorithm
  -m    Select HMAC algorithm
  -o    Specify options
  -p    Connect to this port
  -v    Specify SSH Protocol Version
  WORD  IP address or hostname of a remote system

 Router_AのCLI SSHクライアントから、ユーザ名「admin」、パスワード「ccnaccnp」、Router_BのIPアドレス「192.168.1.2」を使用して、SSHセッションを確立します。

Router_A#ssh -l admin 192.168.1.2

Password:

Router_B#

Router_BにSSH接続すると、特権EXECモードのプロンプトが表示されます。

なぜ、ユーザEXECモードではなく、特権EXECモードなのか、その理由は、adminユーザの特権レベルが15であるためです。

◆show ssh

「show ssh」コマンドを使用して、ルータへのSSH接続を確認します。

Router_B#show ssh
Connection Version Mode Encryption  Hmac         State                 Username
6          1.99     IN   aes128-cbc  hmac-sha1    Session started       admin
6          1.99     OUT  aes128-cbc  hmac-sha1    Session started       admin
%No SSHv1 server connections running.

Router_BとのSSHセッションを終了します。

Router_B#exit

[Connection to 192.168.1.2 closed by foreign host]
Router_A#

 Telnetと同様な操作で、SSHのセッションをコントロールできます。例えば、「Ctrl」+「Shift」+「6」を押して、「x」を押して、セッションを切り替える操作などは同じです。

 これで、ルータのCLI SSHクライアントを使用をしたセキュアなターミナル接続の説明は終わります。Ciscoルータやスイッチでは、簡単にSSHを使用した接続ができるようになっています。


「PuTTY」ターミナルエミュレータを使用したssh接続


 SSHが使用できるターミナルエミュレータであれば、どんなターミナルエミュレータであってもルータとSSH接続を行うことができます。ここでは、「PuTTY」ターミナルエミュレータを使用したSSH接続を説明して行きます。

 「PuTTY」ターミナルエミュレータを起動します。SSHをクリックし、「優先するSSHのプロトコルバージョン」に「2」をしています。SSHサーバのSSHのバージョンが1の場合でも、接続できるようになっています。


IPアドレスに、「192.168.1.1」を入力し開くを押します。


ログインプロンプトで、ユーザ名に「admin」、パスワードに「ccnaccnp」を入力してログインします。


ログイン後は、いつものようにターミナル操作を行うことができます。


 このように、SSHが使用できるターミナルエミュレータであれば、どんなターミナルエミュレータであってもルータとSSH接続を行うことができます。
◆Menu
◆スポンサードリンク
◆Amazon

Copyright(c)2014〜 Ciscoルータで学ぶネットワーク All rights reserved.