以前、 GUI(GUI)インターフェイスで設定を有効にして、CiscoスイッチへのSSHアクセスを有効にする方法(how you can enable SSH access to your Cisco switch)について説明しました。これは、暗号化された接続を介してスイッチCLI(CLI)にアクセスする場合に最適ですが、それでもユーザー名とパスワードのみに依存します。
非常に安全である必要がある非常に機密性の高いネットワークでこのスイッチを使用している場合は、SSH接続で公開鍵認証を有効にすることを検討することをお勧めします。実際、最大限のセキュリティを確保するために、スイッチにアクセスするためのユーザー名/パスワードと公開鍵認証を有効にすることができます。
この記事では、SG300 Ciscoスイッチで公開鍵認証を有効にする方法と、puTTYGenを使用して公開鍵と秘密鍵のペアを生成する方法を紹介します。次に、新しいキーを使用してログインする方法を説明します。さらに、キーだけを使用してログインするか、ユーザーに秘密キーを使用してユーザー名/パスワードを入力させるように構成する方法を説明します。
注:このチュートリアルを開始する前に、スイッチでSSHサービスがすでに有効になっていることを確認してください。これについては、上記のリンク先の前回の記事で説明しました。 (Note: Before you get started on this tutorial, make sure you have already enabled the SSH service on the switch, which I mentioned in my previous article linked above. )
公開鍵(Public Key)によるSSHユーザー認証(SSH User Authentication)を有効にする
全体として、公開鍵認証をSSHで機能させるためのプロセスは簡単です。私の例では、WebベースのGUIを使用して機能を有効にする方法を示します。CLIインターフェイスを使用して公開鍵認証を有効にしようとしましたが、秘密RSA鍵の形式を受け入れませんでした。
それが機能するようになったら、今のところGUI(GUI)を介して行うことを実行するCLIコマンドでこの投稿を更新します。まず、[(First)セキュリティ(Security)] 、 [ SSHサーバー( SSH Server)] 、 [ SSHユーザー認証( SSH User Authentication)]の順にクリックします。
右側のペインで、先に進み、[公開鍵によるSSHユーザー認証]の横にある[有効にする]チェックボックス( Enable box next to SSH User Authentication by Public Key)をオンにします。[適用(Apply)]ボタンをクリックして、変更を保存します。後で説明するので、(Don)自動ログインの横にある[(Automatic login)有効(Enable)にする]ボタンはまだチェックしないでください。
次に、 SSH(SSH)ユーザー名を追加する必要があります。ユーザーの追加に取り掛かる前に、まず公開鍵と秘密鍵を生成する必要があります。この例では、puTTYに付属するプログラムであるpuTTYGenを使用します。
秘密鍵と公開鍵を生成する
キーを生成するには、先に進んで最初にpuTTYGenを開きます。空白の画面が表示され、以下に示すデフォルトから設定を変更する必要はありません。
[生成(Generate)]ボタンをクリックし、進行状況バーが完全に表示されるまで、空白の領域内でマウスを動かします。
キーが生成されたら、パスフレーズを入力する必要があります。これは基本的に、キーのロックを解除するためのパスワードのようなものです。
総当たり攻撃からキーを保護するために、長いパスフレーズを使用することをお勧めします。パスフレーズを2回入力したら、[公開鍵(Save public key)を保存]ボタンと[秘密鍵(Save private key)を保存]ボタンをクリックする必要があります。これらのファイルが安全な場所に保存されていることを確認してください。できれば、開くためにパスワードが必要なある種の暗号化されたコンテナに保存してください。VeraCryptを使用して暗号化されたボリュームを作成する(VeraCrypt to create an encrypted volume)方法についての私の投稿を確認してください。
ユーザーとキーを追加
ここで、前に表示していた SSHユーザー認証( SSH User Authentication)画面に戻ります。ここで、2つの異なるオプションから選択できます。まず、 [管理(Administration)] – [ユーザーアカウント]( User Accounts)に移動して、現在ログイン用に持っているアカウントを確認します。
ご覧のとおり、スイッチにアクセスするためのakishoreというアカウントが1つあります。現在(Currently)、このアカウントを使用してWebベースのGUIとCLIにアクセスできます。SSHユーザー認証ページに(SSH User Authentication)戻る(Back)と、SSHユーザー認証テーブルに(公開鍵で)(SSH User Authentication Table (by Public Key))追加する必要のあるユーザーは、[管理]-[ユーザーアカウント](Administration – User Accounts) で使用しているものと同じか、異なるものにすることができます。
同じユーザー名を選択した場合は、 [自動ログイン]の下の[(Automatic Login)有効(Enable)にする]ボタンをオンにできます。スイッチにログインするときに、秘密鍵のユーザー名とパスワードを入力するだけで、ログインできます。 。
ここで別のユーザー名を選択する場合は、SSH秘密鍵のユーザー名とパスワードを入力する必要があるというプロンプトが表示されます。次に、通常のユーザー名とパスワードを入力する必要があります([管理]-[ユーザーアカウント](Admin – User Accounts)の下に表示されます) 。 。セキュリティを強化したい場合は、別のユーザー名を使用してください。それ以外の場合は、現在のユーザー名と同じ名前を付けてください。
[(Click)追加(Add)]ボタンをクリックすると、 [ SSHユーザーの追加](Add SSH User)ウィンドウがポップアップ表示されます。
キータイプが(Key Type)RSAに設定されていることを確認してから、メモ帳(Notepad)などのプログラムを使用して以前に保存した公開SSHキーファイルを開きます。内容全体をコピーして、公開鍵(Public Key)ウィンドウに貼り付けます。上部に成功(Success)メッセージが表示されたら、[適用(Apply)]をクリックし、[閉じる]をクリックします。(Close)
秘密鍵を使用してログインする
これで、秘密鍵とパスワードを使用してログインするだけです。この時点で、ログインを試みるときは、ログイン資格情報を2回入力する必要があります。1回は秘密鍵用、もう1回は通常のユーザーアカウント用です。自動ログインを有効にしたら、秘密鍵のユーザー名とパスワードを入力するだけで、にアクセスできます。
puTTYを開き、通常どおり[ホスト名]( Host Name)ボックスにスイッチのIPアドレスを入力します。ただし、今回は秘密鍵をpuTTYにもロードする必要があります。これを行うには、 [接続(Connection)]を展開し、[ SSH ]を展開して、[(SSH)認証(Auth)]をクリックします。
認証用の秘密鍵ファイルの(Private key file for authentication)下にある[参照(Browse)]ボタンをクリックし、以前にpuTTYから保存した秘密鍵ファイルを選択します。次に、[開く(Open)]ボタンをクリックして接続します。
最初のプロンプトはログインとして表示され、 (login as)SSHユーザーで追加したユーザー名になります。メインユーザーアカウントと同じユーザー名を使用した場合、それは問題ではありません。
私の場合、両方のユーザーアカウントにakishoreを使用しましたが、秘密鍵とメインユーザーアカウントに異なるパスワードを使用しました。必要に応じて、パスワードを同じにすることもできますが、特に自動ログインを有効にしている場合は、実際にそれを行う意味はありません。
スイッチにアクセスするためにダブルログインする必要がない場合は、[SSHユーザー認証]ページの[(SSH User Authentication)自動ログイン]の横にある[( Automatic login)有効(Enable)にする]チェックボックスをオンにします。
これが有効になっている場合は、 SSH(SSH)ユーザーのクレデンシャルを入力するだけで、ログインできます。
少し複雑ですが、一度試してみると理にかなっています。前に述べたように、適切な形式で秘密鍵を取得できたら、 CLIコマンドも書き出します。ここでの手順に従うと、 SSH(SSH)経由でスイッチにアクセスする方がはるかに安全になります。問題が発生したり、質問がある場合は、コメントに投稿してください。楽しみ!
Enable Public Key Authentication for SSH on Cisco SG300 Switches
Previously, I wrote about how you can enable SSH access to your Cisco switch by enabling the setting in the GUI interface. This is great if you want to access your switch CLI over an encrypted connection, but it still relies on just a username and password.
If you are using this switch in a highly sensitive network that needs to be very secure, then you might want to consider enabling public key authentication for your SSH connection. Actually, for maximum security, you can enable a username/password and public key authentication for access to your switch.
In this article, I’ll show you how to enable public key authentication on an SG300 Cisco switch and how to generate the public and private key pairs using puTTYGen. I’ll then show you how to login using the new keys. In addition, I’ll show you how to configure it so that you can either use just the key to login or force the user to type in a username/password along with using the private key.
Note: Before you get started on this tutorial, make sure you have already enabled the SSH service on the switch, which I mentioned in my previous article linked above.
Enable SSH User Authentication by Public Key
Overall, the process for getting public key authentication to work for SSH is straightforward. In my example, I’ll show you how to enable the features using the web-based GUI. I tried to use the CLI interface to enable public key authentication, but it would not accept the format for my private RSA key.
Once I get that working, I’ll update this post with the CLI commands that will accomplish what we will do through the GUI for now. First, click on Security, then SSH Server and finally SSH User Authentication.
In the right-hand pane, go ahead and check the Enable box next to SSH User Authentication by Public Key. Click the Apply button to save the changes. Don’t check the Enable button next to Automatic login just yet as I’ll explain that further down.
Now we have to add a SSH user name. Before we get into adding the user, we first have to generate a public and private key. In this example, we’ll be using puTTYGen, which is a program that comes with puTTY.
Generate Private and Public Keys
To generate the keys, go ahead and open puTTYGen first. You’ll see a blank screen and you really shouldn’t have to change any of the settings from the defaults shown below.
Click on the Generate button and then move your mouse around the blank area until the progress bar go all the way across.
Once the keys have been generated, you need to type in a passphrase, which is basically like a password to unlock the key.
It’s a good idea to use a long passphrase to protect the key from brute-force attacks. Once you have typed in the passphrase twice, you should click the Save public key and Save private key buttons. Make sure these files are saved in a secure location, preferably in an encrypted container of some sort that requires a password to open. Check out my post on using VeraCrypt to create an encrypted volume.
Add User & Key
Now back to the SSH User Authentication screen we were on earlier. Here’s where you can choose from two different options. Firstly, go to Administration – User Accounts to see what accounts you currently have for login.
As you can see, I have one account called akishore for accessing my switch. Currently, I can use this account to access the web-based GUI and the CLI. Back on the SSH User Authentication page, the user you need to add to the SSH User Authentication Table (by Public Key) can either be the same as what you have under Administration – User Accounts or different.
If you choose the same user name, then you can check the Enable button under Automatic Login and when you go to log into the switch, you’ll simply have to type the username and password for the private key and you’ll be logged in.
If you decide to choose a different username here, then you will get a prompt where you have to enter the SSH private key user name and password and then you’ll have to enter your normal username and password (listed under Admin – User Accounts). If you want the extra security, use a different username, otherwise just name it the same as your current one.
Click the Add button and you’ll get the Add SSH User window pop up.
Make sure the Key Type is set to RSA and then go ahead and open your public SSH key file that you saved earlier using a program like Notepad. Copy the entire contents and paste it into the Public Key window. Click Apply and then click Close if you get a Success message at the top.
Login Using Private Key
Now all we have to do is login using our private key and password. At this point, when you try to login, you’ll need to enter login credentials twice: once for the private key and once for the normal user account. Once we enable automatic login, you’ll just have to enter the username and password for the private key and you’ll be in.
Open puTTY and enter in the IP address of your switch in the Host Name box as usual. However, this time, we’ll need to load up the private key into puTTY also. To do this, expand Connection, then expand SSH and then click on Auth.
Click on the Browse button under Private key file for authentication and select the private key file you saved out of puTTY earlier. Now click the Open button to connect.
The first prompt will be login as and that should be the username you added under SSH users. If you used the same username as your main user account, then it won’t matter.
In my case, I used akishore for both user accounts, but I used different passwords for the private key and for my main user account. If you like, you can make the passwords the same too, but there’s no point in really doing that, especially if you enable automatic login.
Now if you don’t want to have to double login to get into the switch, check the Enable box next to Automatic login on the SSH User Authentication page.
When this is enabled, you’ll now just have to type in the credentials for the SSH user and you’ll be logged in.
It’s a bit complicated, but makes sense once you play around with it. Like I mentioned earlier, I’ll also write out the CLI commands once I can get the private key in the proper format. Following the instructions here, accessing your switch via SSH should be a lot more secure now. If you run into problems or have questions, post in the comments. Enjoy!