이전에 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(SSH) 에서 작동하도록 공개 키 인증을 얻는 프로세스 는 간단합니다. 내 예에서는 웹 기반 GUI(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 사용자 이름을 추가해야 합니다. 사용자를 추가하기 전에 먼저 공개 키와 개인 키를 생성해야 합니다. 이 예에서는 puTTY와 함께 제공되는 프로그램인 puTTYGen을 사용할 것입니다.
개인 및 공개 키 생성
키를 생성하려면 먼저 puTTYGen을 엽니다. 빈 화면이 표시되며 실제로 아래 표시된 기본값에서 설정을 변경할 필요가 없습니다.
생성(Generate) 버튼을 클릭 한 다음 진행률 표시줄이 끝까지 이동할 때까지 빈 영역 주위로 마우스를 이동합니다.
키가 생성되면 기본적으로 키를 잠금 해제하기 위한 암호와 같은 암호를 입력해야 합니다.
무차별 대입 공격으로부터 키를 보호하려면 긴 암호를 사용하는 것이 좋습니다. 암호를 두 번 입력했으면 공개 키(Save public key) 저장 및 개인 키 저장(Save private key) 버튼을 클릭해야 합니다. 이러한 파일이 안전한 위치에 저장되어 있는지 확인하십시오. 가급적이면 암호를 열어야 하는 일종의 암호화된 컨테이너에 저장하는 것이 좋습니다. VeraCrypt를 사용하여 암호화된 볼륨을 만드는 방법(VeraCrypt to create an encrypted volume) 에 대한 내 게시물을 확인하십시오 .
사용자 및 키 추가
이제 이전에 있었던 SSH 사용자 인증( SSH User Authentication) 화면으로 돌아갑니다. 여기에서 두 가지 다른 옵션을 선택할 수 있습니다. 먼저 관리(Administration) – 사용자 계정( User Accounts) 으로 이동하여 현재 로그인을 위해 어떤 계정이 있는지 확인합니다.
보시다시피 내 스위치에 액세스하기 위해 akishore라는 계정이 하나 있습니다. 현재(Currently) 이 계정을 사용하여 웹 기반 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) 창 에 붙여넣습니다 . 적용(Apply) 을 클릭한 다음 상단 에 성공(Success) 메시지가 표시 되면 닫기 를 클릭합니다.(Close)
개인 키를 사용하여 로그인
이제 개인 키와 비밀번호를 사용하여 로그인하기만 하면 됩니다. 이 시점에서 로그인을 시도할 때 로그인 자격 증명을 두 번 입력해야 합니다. 한 번은 개인 키용이고 한 번은 일반 사용자 계정용입니다. 자동 로그인을 활성화하면 개인 키에 대한 사용자 이름과 비밀번호를 입력하기만 하면 됩니다.
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 사용자의 자격 증명을 입력하기만 하면 로그인됩니다.
조금 복잡하지만 한번 해보면 이해가 됩니다. 앞서 언급했듯이 적절한 형식의 개인 키를 얻을 수 있게 되면 CLI 명령도 작성하겠습니다. (CLI)여기의 지침을 따르면 이제 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!