Cisco CatalystスイッチにSSHで接続する

かねてからCisco製品が欲しい欲しいと言ってましたが、先日ついにCatalyst 3560Xスイッチを購入しました。
2960シリーズでもよかったんですけど、L3スイッチでVLAN間ルーティングしてみるのも楽しそうだなと思ったので3560Xを選択。結果、想像以上にデカいものが届きました。

作業開始

例によってシリアルコンソールケーブルをコンソールポートに挿し込んでscreenで接続していきます。設定の度にコンソールケーブルをつないでいては面倒が過ぎるので、ここからSSHで設定ができるようにしていきます。

IPアドレスの設定

初めに、スイッチ自体のIPアドレスを設定します。管理用のインタフェースVlan1に設定すればいいらしい。

Switch>en
Switch#configure terminal
Switch(config)#interface vlan1
Switch(config-if)#ip address aaa.bbb.ccc.ddd 255.255.255.0
Switch(config-if)#no shutdown

設定を確認するときは、ユーザモードまたは特権モードでshow interface vlan1を実行すればOK。IPアドレスInternet Address is aaa.bbb.ccc.ddd/eeで表示されるはず。
お好みで他ホストからPingするなりして疎通を確認しましょう。

SSH有効化の準備

さっそくSSHサーバを有効化していきたいところですが、その前にユーザ名とドメイン名、vtyポートの設定をしておく必要があります。
ここではvtyポートを5つ作成し、その他の設定は例として適当な文字列を記載しておきます。

Switch(config)#username klag password hoge
Switch(config)#line vty 0 4
Switch(config-line)#login local
Switch(config-line)#exit
Switch(config)#ip domain-name fuga.local

SSHサーバ有効化

最後に、SSHサーバを有効化していきます。SSHバージョン2、4096bit RSA鍵を利用します。

Switch(config)#crypto key generate rsa
(略)
How many bits in the modules [512]: 4096
Switch(config)#ip ssh version 2

おまけ:SSHクライアントの設定

以上でSSHサーバは有効になりましたが、いつものようにssh klag@aaa.bbb.ccc.dddで接続しようとしたらエラー発生。内容は以下の通り。

$ ssh klag@aaa.bbb.ccc.ddd
Unable to negotiate with aaa.bbb.ccc.ddd port 22: no matching cipher found. Their offer: aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc

どうやら暗号方式が異なるためにネゴシエーションに失敗しているようです。ということで、-cオプションで接続時に使用する暗号方式を指定してあげます。

$ ssh klag@aaa.bbb.ccc.ddd -c aes256-cbc

ただ、毎度毎度オプションを指定するのも面倒なので、configファイルに次のように登録しておきました。

Host Catalyst
    HostName aaa.bbb.ccc.ddd
    User klag
    Ciphers +aes256-cbc

これで無事接続できるようになりました。よかったね!