Cisco機器をSSHでログイン可能にする
--- Cisco機器をSSHでログイン可能にする---
telnetのみ有効化されたNW機器にtelnetモジュールを使って設定を入れることも可能だがtelnet接続ではAnsibleで使える機能は大幅に制限される。
今後の運用でAnsibleの機能を最大限に利用できるようにするためにtelnetモジュールを使ってNW機器のsshを有効化してみる。
■telnetモジュールでSSHを有効化(playbook例はこちら↓)-github
----------------------------------------------------------------------------------------------------
■実際にcisco機器に設定されるconfig例はこちら↓
■■■SSH対応かどうか確認する
※イメージファイルにk9(crypto)がついていればssh可能
※この機種は公開鍵認証対応できないようなのでパスワード認証での方法を記載。
ciscoR1#sh version | i K9 Cisco IOS Software, C181X Software (C181X-ADVIPSERVICESK9-M), Version 12.4(15)T10, RELEASE SOFTWARE (fc3)
■■■ sshでログインするために必要な設定
■ドメイン設定
ciscoR1#sh run | i ip domain name
ip domain name 38lab.com
■ログインユーザ確認
ciscoR1#sh run | i username
username UUUU password 7 XXXX
■enable secretパスワード設定の確認
※enable passwordでも問題ない
ciscoR1#sh run | i enable sec
enable secret 5 XXXXXXXXXX
■SSHポート許可設定の確認
ciscoR1#sh run | i ssh
ip ssh version 2
■VTY設定の確認
ciscoR1#sh run | b line vty
line vty 0 4
access-class 105 in
exec-timeout 300 0
logging synchronous
transport input telnet ssh
line vty 5 15
access-class 105 in
exec-timeout 300 0
logging synchronous
transport input telnet ssh
★ sshがあればOK、機種ごとにデフォルト値を確認すること
■■■設定・投入ログ
■
ciscoR1(config)#ip domain name 38lab.com
■
ciscoR1(config)#enable secret 7 3824
The enable secret you have chosen is the same as your enable password.
This is not recommended. Re-enter the enable secret.
■
ciscoR1(config)#ip ssh version 2
■
ciscoR1(config)#crypto key generate rsa modulus 2048
The name for the keys will be: ciscoR1.38lab.com % The key modulus size is 2048 bits
% Generating 2048 bit RSA keys, keys will be non-exportable...[OK]
※作成した鍵を削除するときは以下
(config)#crypto key zeroize rsa
% All RSA keys will be removed.
% All router certs issued using these keys will also be removed.
Do you really want to remove these keys? [yes/no]: yes
■
ciscoR1(config)#line vty 0 15
ciscoR1(config-line)# transport input telnet ssh
■■■ Log出力確認
Jun 22 18:44:13.573: %SSH-5-ENABLED: SSH 2.0 has been enabled
loopbackアドレス宛てにSSH確認しログイン可能なと
ciscoR2#ssh -l UUUU 192.168.3.47
Password:XXXX
■■■ansibleでのPING疎通の実施
[root@cent76new ansible]# ansible ciscoR1 -m ping -b
ciscoR1 | SUCCESS => {
"changed": false,
"ping": "pong"
}
--------------------------------
■参考:以前のブログ↓
--------------------------------