Skip to main content

What is Secure Shell (SSH) and how to configure SSH in Cisco Devices

What is Secure Shell (SSH)
Secure Shell is a protocol that can be used in the place of well known Telnet protocol to remotely connect to your Cisco Router or Switch. Telnet has long been used to manage network devices; however, Telnet traffic is sent in clear text. Anyone able to sniff that traffic would see your password and any other information sent during the Telnet session. Secure Shell (SSH) is a much more secure way to manage your routers and switches. It is a client/server protocol that encrypts the traffic in and out through the vty ports.

Cisco routers and switches can act as SSH clients by default, but must be configured to be SSH servers. That is, they can use SSH when connecting to another device, but require configuration before allowing devices to connect via SSH to them. They also require some method of authenticating the client. This can be either a local username and password, or authentication with a AAA server (AAA is detailed in the next section).

There are two versions of SSH. SSH Version 2 is an IETF standard that is more secure than version 1. Version 1 is more vulnerable to man-in-the-middle attacks, for instance. Cisco devices support both types of connections, but you can specify which version to use.
How to Configure SSH in Cisco Devices
Telnet is enabled by default, but configuring even a basic SSH server requires several following steps:
1. Ensure that your IOS supports SSH. You need a K9 image for this.
2. Configure a host name.
3. Configure a domain name.
4. Configure a client authentication method.
5. Tell the router or switch to generate the Rivest, Shamir, and Adelman (RSA) keys that will be used to encrypt the session.
6. Specify the SSH version, if you want to use version 2.
7. Disable Telnet on the VTY lines.
8. Enable SSH on the VTY lines.
Here are the configuration command to configure Secure Shell on Cisco Routers or Switches
router(config)# hostname R1
R1(config)# ip domain-name networkpcworld
R1(config)# username cisco password Cisco
R1(config)# crypto key generate rsa
The name for the keys will be: R1.networkpcworld
Choose the size of the key modulus in the range of 360 to 2048 for your General Purpose Keys. Choosing a key modulus greater than 512 may take a few minutes.
How many bits in the modulus [512]: 1024
% Generating 1024 bit RSA keys …[OK]
*May 22 02:06:51.923: %SSH-5-ENABLED: SSH 1.99 has been enabled
R1(config)# ip ssh version 2
R1(config)# line vty 0 4
R1(config-line)# transport input none
R1(config-line)# transport input ssh
R1# show ip ssh
SSH Enabled – version 2.0
Authentication timeout: 120 secs; Authentication retries: 3

Popular posts from this blog

How to check Gray-log current running version

If you planning to upgrade your graylog and want to see what your graylog current version is, here is how you can check it. Go to the Graylog Web Interface Click on System/Nodes Under System/Nodes --- Click on the N odes  Scroll down to the ' System ' Here you can see the current version of your graylog server

Connection control operation failed for disk 'ide1:0'

I was getting this error while removing Operating System ISO image mounted on the Virtual Machine. What worked for me, is 1. Uncheck the "Connected and Connect at power on" from Device Status. 2. Then Change the Device type from " Datastore ISO File to Client Device " Radio Button 3. and press OK to save the changes. Note:- I was able to remove the mounted ISO only by directly logging to the ESXi at https://esxi-ip-address/ui where it asks "The guest operating system has locked the CD-ROM door and is probably using the CD-ROM, which can prevent the guest from recognizing media changes. If possible, eject the CD-ROM from inside the guest before disconnecting. Disconnect anyway and override the lock?" You need to select yes to eject the CD-ROM and then remove the ISO file successfully.

How to import Putty Saved Connections to mRemoteNG

Just started using mRemoteNG and its being very cool to connect to different remote connection with different protocols e.g Window Remote Desktop, VNC to Linux, SSH, HTTP connection etc. from a single application. As new user I configured some remote desktop connection which was quite easy to figure out. But when I wanted to add SSH connections, it came in my mind to import all of the saved connections in the putty. But I couldn't figure it out how can it be done, though it was quite easy and here are the steps. Open your mRemoteNG Create a folder if you want segregation of multiple networks Create a new connection Enter the IP address of remote server under connection in Config pane Under the config pane, select protocol " SSH version 2 ".  Once you select protocol to SSH version 2 you are given option to import putty sessions, as shown in the snap below. In the above snap, I have imported CSR-AWS session from my saved sessions in Putty.