この記事はSFC-RG Advent Calendar 2017の10日目です。
誰も書かないから埋めました。
来年のNOCでヤングたちに見せるための備忘録。
概要
- Cisco IOSでsshによる公開鍵認証を 有効化する方法
- と、ハマりどころ
なんか知らないけど当たり前のようにパスワード認証で我慢してる人が多い気がする。出来ないもんだと思ったけど調べたら方法があったので共有。
ちなみにYamaha RTXは出来ない。悲しい。
検証環境
- Cisco 891FJ
- Cisco IOS 15.4
- 検証に用いる鍵はごく一般的なRSA
router# show version
Cisco IOS Software, C800 Software (C800-UNIVERSALK9-M), Version 15.3(3)M5,
ROM: System Bootstrap, Version 15.4(1r)T1, RELEASE SOFTWARE (fc1)
設定内容
クライアントPCとL3で導通するところまではがんばってやる
とりあえずパスワードでSSHログイン出来るようにする
[Cisco IOS] SSHによるリモートアクセスの設定
等を参考に行う。
時間に余裕が無い現代ピーポーのために必要なところを抜粋。
cisco1(config)enable secret ぱすわーどは半角英数記号で書く
cisco1(config)# ip ssh version 2
cisco1(config)#line vty 0 4
cisco1(config-line)#login local
cisco1(config-line)#transport input ssh
cisco1(config)#hostname cisco1
cisco1(config)#crypto key generate rsa
<中略>
How many bits in the modulus [512]: 2048
注:この鍵はルーター側の鍵。鍵長は2017年12月現在2048なら問題ない。
cisco1(config)username ユーザー名 privilege 15 secret ぱすわーどは半角英数記号で書く
- privilege値を15とすることで、ログイン後すぐに管理者モード
#
になる。
公開鍵を登録する
cisco1(config)#ip ssh pubkey-chain
cisco1(conf-ssh-pubkey)#username ユーザー
cisco1(conf-ssh-pubkey-user)#key-string
cisco1(conf-ssh-pubkey-data)#公開鍵鍵をペタペタペーストする
cisco1(conf-ssh-pubkey-data)#exit
鍵をペタペタする際に一気に全部貼ると怒られる。
5回くらいに分けて改行しながら入れる。
認証方式を決定する
デフォルトでは、以下の3つのプロトコルが有効。パスワードや対話式入力を無効化したい場合はno ip ssh server authenticate user hogehoge
する。
ip ssh server authenticate user publickey
ip ssh server authenticate user keyboard
ip ssh server authenticate user password
ちなみに最近のIOS-XEでは別のコマンドでの設定が必要。(上記コマンドを打つと古いよって怒られる)
以下はASR1Kの16.9での場合。
ip ssh server algorithm authentication password publickey
試す
cisco1# exit
Macbook% ssh ユーザー名@ルーターのIPアドレス
cisco1#
出来た
失敗した場合は面倒くさいけどコンソールケーブルを繋いで設定を見直して下さい...
refs.
全て2017年12月参照
Cisco Router - Basic Security
[Cisco IOS] SSHによるリモートアクセスの設定