Linux ssh to cisco

SSH to Cisco device fails with diffie-hellman-group1-sha1

There are some similar questions on this forums which claim to have the answer however I found them to not work for me due to small differences so I decided to post the question and answer here.

You’ll probably want to upgrade that Cisco device to something modern. That’s no longer considered a reasonable key exchange method for security purposes and it will likely be removed in a future version of OpenSSH.

@bk2204 not everything is a router that can easily be replaced. Legacy servers, for example, were built like tanks, and some are still running for important but niche applications.

Most modern Linux distros are going to have something better, and that’s also true for pretty much any OS available in the last decade. At worst, you can install a newer version of OpenSSH yourself. It’s very portable.

4 Answers 4

To fully enable this for all hosts you want to connect to, system-wide, add the following to your /etc/ssh/ssh_config:

Host * KexAlgorithms +diffie-hellman-group-exchange-sha1 

To only enable it for your own account, add the same to ~/.ssh/config:

Host * KexAlgorithms +diffie-hellman-group-exchange-sha1 

To enable this for specific hosts, edit one of the aforementioned files and add:

Host 192.168.1.1 KexAlgorithms +diffie-hellman-group-exchange-sha1 

To enable this for groups of hosts and/or groups of users, read up.

I suppose that the next error that will appear after solving «diffie-hellman-group-exchange-sha1» issue will be

«no matching host key type found. Their offer: ssh-rsa»

So the complete solution is the adding this to ~/.ssh/config file (not to main config):

Host x.x.x.x KexAlgorithms +diffie-hellman-group1-sha1 Ciphers aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc User root PubkeyAcceptedAlgorithms +ssh-rsa HostkeyAlgorithms +ssh-rsa 

Replace the address of the host and the name of user with yours.

Источник

Настройка доступа к Cisco по SSH

img

Если вы работаете в IT, то наверняка тысячу раз сталкивались с необходимостью зайти на какое-то устройство или сервер удалённо – такая задача может быть выполнена несколькими путями, основные два для управления устройством через командную строку – Telnet и Secure Shell (SSH) .

Между ними есть одно основное различие – в протоколе Telnet все данные передаются по сети в незашифрованном виде, а в случае SSH все команды шифруются специальным ключом. SSH был разработан как замена Telnet, для безопасного управления сетевыми устройствами через небезопасную сеть, такую как Интернет. На всякий случай запомните, что Telnet использует порт 22, а SSH – 23.

Читайте также:  Create table postgresql linux

Поэтому наша рекомендация – используйте SSH всегда, когда возможно.

Настройка

Для начала, вам понадобится Packet Tracer – программа для эмуляции сетей от компании Cisco. Он полностью бесплатен и его можно скачать с сайта netacad.com после регистрации. Запустите Packet Tracer и приступим к настройке.

Простая топология сети в Packet Tracer

Постройте топологию как на скриншоте ниже – один компьютер и один коммутатор третьего уровня. Нужно будет подключить их между собой и приступить к настройке.

Готово? Теперь обеспечим сетевую связность и настроим интерфейс vlan 1 на коммутаторе, для этого введите следующие команды:

Если сразу после создания в консоли коммутатора будет вопрос начать ли диалог изначальной настройки – ответьте «No».

en conf t interface vlan 1 ip address 192.168.1.1 255.255.255.0 no shutdown

Далее, настроим сетевую карту компьютера – укажем сетевой адрес в настройках FastEthernet0: 192.168.1.2. По умолчанию все новые компьютеры будут находиться в vlan 1.

Настройка сетевого адреса ПК в Packet Tracer

Теперь давайте попробуем пингануть коммутатор и зайти на него по протоколу telnet с нашего ПК на коммутатор – и вы увидите, что соединение будет отклонено по причине того, что мы еще не настроили аутентификацию на коммутаторе.

Проверка сетевой связности и попытка Telnet в Packet Tracer

Перейдем к настройке аутентификации. Система поддерживает 20 виртуальных tty/vty линий для Telnet, SSH и FTP сервисов. Каждая сессия, использующая вышеупомянутый протокол занимает одну линию. Также можно усилить общую безопасность с помощью валидации запросов на авторизацию на устройстве. Перейдите обратно в режим общей конфигурации (conf t) на коммутаторе с помощью команды exit и введите следующие команды:

line vty 0 15 password cisco login end

Пароль cisco, используемый в статье, является крайне небезопасным и служит исключительно для демонстрационных целей. Если вы оставите такой пароль на настоящем оборудовании, шансы, что вас взломают будут стремиться к бесконечности. Лучше используйте наш генератор устойчивых ко взлому паролей 🙂

Теперь снова попробуйте зайти по Telnet на свитч – все должно получиться! Однако, при попытке перейти к настройке и выполнении команды enable вы увидите, что это невозможно, по причине того, что не установлен пароль на глобальный режи enable.

Чтобы исправить это, введите следующие команды:

conf t enable password cisco

Попробуйте еще раз – теперь все должно получиться!

Telnet и удаленный вход в режим конфигурации в Packet Tracer

Теперь настроим SSH на коммутаторе – для этого обязательно нужно указать хостнейм, доменное имя и сгенерировать ключ шифрования.

Вводим следующие команды (из основного конфигурационного режима):

hostname merionet_sw1 ip domain name merionet crypto key generate rsa

Выбираем длину ключа – по умолчанию значение стоит равным 512 битам, для SSH версии 2 минимальная длина составляет 768 бит. Генерация ключа займет некоторое время.

Читайте также:  Canon pixma mp230 linux

После генерации ключа продолжим настройку коммутатора:

ip ssh version 2 line vty 0 15 transport input ssh

Теперь зайти по протоколу Telnet уже не выйдет, так как мы заменили его на SSH. Попробуйте зайти по ssh, используя логин по умолчанию – admin. Давайте-ка поменяем его на что-то поприличнее (опять из conf t):

username admin secret cisco line vty 0 15 login local do wr

Теперь попробуйте зайти с рабочей станции на коммутатор и удостоверьтесь, что новые настройки вступили в силу.

Источник

SSH, аутентификация по public key с Linux на Cisco

Допустим вам необходимо настроить некоторую автоматизацию на Cisco с помощью Ansible. Для этого первым делом вам необходимо настроить подключение по SSH без использования пароля. В этой статье я расскажу как это сделать.

Начальная конфигурация

В этом примере я использую Cisco 2911 с IOS 15.7(3)M3.

Сторона клиента

Я предполагаю, что клиент — это разновидность Unix, просто потому, что это более распространенный способ. Однако этот метод работает в Windows, используя Putty и другие эмуляторы терминала.

Давайте проверим, что у нас уже есть открытый ключ:

Сторона сервера

username test priv 15 secret supers3cr3tn0bdyw1llgue55

Вы должны убедиться, что этот открытый ключ (id_rsa.pub на Linux) является доверенным для нашего роутера.

На роутере выполните эти команды:

ip ssh pubkey-chain username test key-string Скопируйте весь открытый ключ, как показано в cat id_rsa.pub, включая ssh-rsa и username@hostname. Обратите внимание, что некоторые версии IOS могут принимать до 254 символов. Вы можете вставить несколько строк. exit exit

Также убедитесь, что вы генерируете ключи RSA на сервере размером более 768 бит. Вы также должны установить SSHv2 на стороне сервера (хотя, строго говоря, это не требуется, если вы используете SSH 1.99).

Проверка

Таким образом после выполнения вышеописанных шагов, вы сможете подключиться без использования пароля:

Linux# ssh -2 -v test@example.com

Источник

SSH into NX-OS Switches Using Key-Based Authentication

The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.

Contents

Introduction

This document describes how to ssh into Cisco Multilayer Data Switch (MDS) 9000 or Nexus Series switches without being prompted for a Secure Shell (SSH) user password. You can use ssh with key-based authentication and run commands so that there are no password prompts. switch# ssh username@switch command

Читайте также:  Программирование для linux потоки

Prerequisites

Requirements

Components Used

The information in this document is based on a Linux server with ssh version:

$ ssh -v
OpenSSH_5.0p1-hpn13v1, OpenSSL 0.9.8d 28 Sep 2006

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.

Configure

To enable this feature please perform these steps:

Step 1. SSH needs to be enabled on the MDS/Nexus switch.

#conf 
(config)#feature ssh

Step 2. You need to get the public key off the host and configure it on the MDS/Nexus switch.

-b: Number of Bits for the key

-t: Type of Algorithm either DSA or RSA

$ ssh-keygen -v -b 1024 -t rsa 
Generating public/private rsa key pair.
Enter file in which to save the key (/users/thteoh/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /users/thteoh/.ssh/id_rsa.
Your public key has been saved in /users/thteoh/.ssh/id_rsa.pub.
The key fingerprint is:
61:18:ad:14:cd:a7:bf:44:89:73:4a:2e:09:96:bb:51 thteoh@people

Note: In this example, RSA is used, you can also choose the Digital Signature Algorithm (DSA) key.

Verify generated key using cat with id_rsa.pub file (file can also be id_dsa.pub)

$ cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAzDWrMuGDkDXFRnuCqdJRM9Yd+oi0ff2K6HxRsyqh82GmQJ3IX6OG7obiQTKnT9+eH7h2WCArEiMsOz3GYtakEkpYx6zR3cKwrsrgKv4TwRgSv8yUyH8GwPZOvZP97szJDu/3WP/ni4wJBb+yDqoI6+G1Rq/F2aYx45fh6SwlPv0= thteoh@people

Step 3. Transfer the id_rsa.pub (or id_dsa.pub) file to bootflash directory of the MDS/Nexus switch and configure the ssh public key.

In this examble SFTP is used to transfer id_rsa.pub in MDS switch

#copy sftp: bootflash

To transfer file in Nexus switches include vrf in the command.

Step 4.Generate SSH key on the switch using the id_rsa.pub or id_dsa.pub.

for reference teoh username used.

#conf 
(config)#username teoh sshkey file bootflash:id_rsa.pub

Step 5. You can check command completed successfully.

switch# show user-account teoh
user:teoh
this user account has no expiry date
roles:network-admin
ssh public key: ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAzDWrMuGDkDXFRnuCqdJRM9Yd+oi0ff2K6HxRsyqh82GmQJ3IX6OG7o
biQTKnT9+eH7h2WCArEiMsOz3GYtakEkpYx6zR3cKwrsrgKv4TwRgSv8yUyH8GwPZOvZP97szJDu/3WP/ni4wJBb+yDqoI6+G1Rq/F2aYx45fh6Swl
Pv0= thteoh@people
switch#

Verify

You can now ssh to switch and issue any command without password prompt now:

$ ssh teoh@10.66.78.53 "sh system uptime"
Warning: the output may not have all the roles
System start time: Tue May 29 17:51:30 2012
System uptime: 7 days, 19 hours, 42 minutes, 15 seconds
Kernel uptime: 7 days, 19 hours, 45 minutes, 17 seconds

Источник

Оцените статью
Adblock
detector