Cisco Nexus 9Kに公開鍵認証を使ってログインする方法

業務でCisco Nexusに公開鍵認証を使ってSSHログインする事があったので
その時の手順を残します。

ログイン元サーバにて秘密鍵と公開鍵の生成を行う

今回は自分のmac bookからログインするのでターミナルを起動して
下記コマンドにて秘密鍵と公開鍵の生成を行った。

MacBook-pro:~ localhost$ ssh-keygen -t rsa -b 2048
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/localhost/.ssh/id_rsa): 
Created directory '/Users/localhost/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/localhost/.ssh/id_rsa.
Your public key has been saved in /Users/localhost/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:tYBWM80VZu2yXdGnodiFH/vZJkH64mmd16D5MNKLvKY localhost@MacBook-pro.local
The key's randomart image is:
+---[RSA 2048]----+
|        +o .=+  .|
|       o ooo. *.o|
|      o . .o B =o|
|     .   o..= * .|
|        S .  = +o|
|           .o =.+|
|          ..+* =.|
|         ..o*+o o|
|        Eo+o.... |
+----[SHA256]-----+
MacBook-pro:~ localhost$ 

すると下記ディレクトリに二つのファイルが出来ている。

MacBook-pro:~ localhost$ ls /Users/localhost/.ssh/
id_rsa		id_rsa.pub

id_rsa秘密鍵でid_rsa.pubが公開鍵だ。
生成された公開鍵をcatコマンドで確認する。
※2048obit長で生成しているので鍵の長さを省略している。

MacBook-pro:~ localhost$ cat /Users/localhost/.ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAAD (省略) b4whh91xnL kyamisama@kyamisamanoMacBook-puro.local

Nexusで公開鍵の登録を行う

最後にNexus側で公開鍵の登録を行って完了だ。
ここで登録するユーザを間違えないように注意する。
実際にNexusのadminユーザに公開鍵を登録してみる。

Nexus(config)# username admin sshkey ssh-rsa AAAAB3NzaC1yc2EAAAAD (省略) b4whh91xnL kyamisama@kyamisamanoMacBook-puro.local
Nexus(config)#

以上で作業完了である。
下記SSHコマンドの通りオプション-iを付け、その後ろに秘密鍵を指定すれば
問題なくログインできるはずだ。

ssh -i /Users/localhost/.ssh/id_rsa admin@192.168.2.100