- Настройка ssh kali linux
- SSH server: automatic host keys generation
- HackWare.ru
- Этичный хакинг и тестирование на проникновение, информационная безопасность
- Как включить SSH в Kali Linux. Как подключиться к Kali Linux по SSH
- SSH в Kali Linux в ARM компьютерах
- SSH в Kali Linux на настольных компьютерах
- Как подключиться к Kali Linux по SSH
- Почему SSH не принимает пароль root
- Как настроить аутентификацию по ключу в Kali Linux (SSH без пароля)
Настройка ssh kali linux
Since our release of Kali Linux 2022.1 it is possible to easily configure the SSH client for wider compatibility to allow Kali to talk to as many SSH servers as possible. In wide compatibility mode, legacy key exchange algorithms (such as diffie-hellman-*-sha1) and old ciphers (such as CBC) are enabled. As a result, tools used inside of Kali are able to communicate using these outdated methods. This is done to help increase Kali’s ability to talk to older, obsolete SSH servers that are still using these older protocols. Older services using this may be at end of life, thus increasing the chances of discovering vulnerabilities or other problems.
Note that this is not the default. Out of the box, the SSH client in Kali Linux is configured for Strong Security to enforce communication over more secure channels.
This setting can be changed easily using the kali-tweaks tool. Simply:
- Open a terminal and run kali-tweaks .
- From there, select the Hardening menu.
- Now you can choose between Strong Security(the default) and Wide Compatibility.
Note: This is achieved by creating or deleting the configuration file /etc/ssh/ssh_config.d/kali-wide-compat.conf .
SSH server: automatic host keys generation
Since the release of Kali Linux 2022.1, the SSH host keys are automatically generated if missing. This is achieved via the systemd service regenerate-ssh-host-keys .
So what are SSH host keys exactly? Those keys are required for the SSH server to be functional. They are supposed to be unique for each machine. Those keys can be found under /etc/ssh and are named ssh_host_*_key . This is how it usually looks like:
[email protected]:~$ ls -l /etc/ssh/ssh_host_* -rw------- 1 root root 1373 Feb 3 23:50 /etc/ssh/ssh_host_dsa_key -rw-r--r-- 1 root root 599 Feb 3 23:50 /etc/ssh/ssh_host_dsa_key.pub -rw------- 1 root root 505 Feb 3 23:50 /etc/ssh/ssh_host_ecdsa_key -rw-r--r-- 1 root root 171 Feb 3 23:50 /etc/ssh/ssh_host_ecdsa_key.pub -rw------- 1 root root 399 Feb 3 23:50 /etc/ssh/ssh_host_ed25519_key -rw-r--r-- 1 root root 91 Feb 3 23:50 /etc/ssh/ssh_host_ed25519_key.pub -rw------- 1 root root 2590 Feb 3 23:50 /etc/ssh/ssh_host_rsa_key -rw-r--r-- 1 root root 563 Feb 3 23:50 /etc/ssh/ssh_host_rsa_key.pub
Since these keys must be unique for each machine, they can’t be embedded in pre-built Kali images such as the Kali Linux VM images or the ARM images. It’s usually up to the user to create those keys before running the SSH server for the first time. However, for most users who are not familiar with SSH, this is a hurdle, as they are not aware of this technical detail.
To make it easier, Kali Linux now comes with a systemd service that takes care of that automatically, and generate those keys if they are missing. In theory, it’s only during a first boot of a pre-built image that the service kicks in. On subsequent boots, the keys already exist and therefore nothing happens. This may not be the case for users who may remove these keys themselves.
For those who are not comfortable with this automatic behavior, it’s very simple and straightforward to disable it:
[email protected]:~$ sudo systemctl disable regenerate-ssh-host-keys.service
Updated on: 2023-Mar-06
Author: arnaudr
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Как включить SSH в Kali Linux. Как подключиться к Kali Linux по SSH
SSH позволяет подключиться к удалённому компьютеру и выполнить на нём команды, подключение и передача данных происходит по зашифрованному каналу, который защищён от различных атак перехвата и подмены данных.
SSH включает в себя две программы: сервер и клиент. Сервер устанавливается на удалённую машину, к которой нужно подключиться и выполнить на ней команды. Клиент предназначен для подключения к удалённой машине.
Сервер SSH работает как служба, которая по умолчанию прослушивает 22 порт. При подключении по умолчанию используется аутентификация по паролю — нужно ввести пароль пользователя на удалённой системе Linux. Также можно настроить аутентификацию с помощью ключей — данный вариант является более удобным (не требуется вводить пароль) и более надёжным (ключи менее подвержены брут-форсу).
Говоря о SSH в Kali Linux, нужно учитывать, что данный дистрибутив выпускается в различных вариантах (смотрите подробности «Где скачать Kali Linux. В чём различие версий Kali Linux»): для персональных компьютеров, для ARM компьютеров, для мобильных телефонов, для виртуальных машин. Рассмотрим особенности SSH в Kali Linux для ПК и для ARM.
SSH в Kali Linux в ARM компьютерах
Поскольку обычно ARM устройства представляют собой маломощные компьютеры без монитора, то управлять ими возможно только подключившись по SSH. По этой причине служба SSH на таких устройствах уже и установлена, и запущена по умолчанию.
В таких системах в качестве учётных данных для входа используйте пару:
В некоторых системах также настроен ещё один пользователь: kali / kali
Проблема с ARM устройствами без экрана может заключаться в том, что неизвестен их IP адрес, который в большинстве локальных сетей присваивается автоматически протоколом DHCP. Обычно роутеры позволяют просмотреть список устройств и их IP адреса. Если у вас такой возможности нет, то их можно найти путём сканирования сети, например, командой:
sudo nmap -p 22 _gateway/24
Вместо _gateway операционная система Linux сама подставит IP адрес вашего роутера, в результате получтися _gateway/24, то есть будет просканирована ваша локальная сеть, например, 192.168.1.0/24. Либо явно укажите диапазон для сканирования.
SSH в Kali Linux на настольных компьютерах
В Kali Linux уже установлен пакет SSH, но автоматический его запуск отключён (как и всех других сетевых служб). Следовательно, для подключения к Kali Linux по SSH нужно запустить эту службу. При желании, её можно добавить в автозагрузку.
Есть два варианта запуска службы SSH:
- ssh.service — служба SSH всегда будет запущена
- ssh.socket — система откроет для прослушивания 22-й порт и будет ожидать подключение к нему. В случае подключения, система запустит службу SSH. Во всё остальное время (когда нет подключений по SSH), служба SSH будет отключена и не будет потреблять системные ресурсы.
Второй вариант является более предпочтительным. Подробности о первом и втором варианте смотрите в «Полном руководстве по SSH».
Для запуска службы SSH в Kali Linux:
sudo systemctl start ssh.socket
Для добавления службы в автозагрузку:
sudo systemctl enable ssh.socket
Для проверки состояния службы:
systemctl status ssh.socket
Как подключиться к Kali Linux по SSH
О том, как подключиться по SSH из различных операционных систем смотрите «Полное руководство по SSH (ч.3) Как подключиться к SSH. Настройка клиента OpenSSH».
Команда для подключения имеет следующий вид:
ssh ПОЛЬЗОВАТЕЛЬ_УДАЛЁННОЙ_СИСТЕМЫ@IP_АДРЕС
В качестве IP_АДРЕСа удалённой системы нужно указать её IP. Узнать IP адрес можно командой:
Кстати, чтобы Kali Linux после перезагрузки всегда имела одинаковый IP адрес, нужно настроить статический IP, как это сделать написано в статье «Как настроить Kali Linux на использование статичного IP адреса».
В данном случае IP адрес Kali Linux это 192.168.1.68. Пользователем по умолчанию является root. Тогда команда должна быть следующей:
Но проблема в том, что в SSH по умолчанию заблокирован вход пользователя root по паролю. Вариантов выхода два:
Рассмотрим их оба, но я рекомендую именно второй вариант, как более безопасный и более удобный.
Почему SSH не принимает пароль root
Настройка службы SSH выполняется в конфигурационном файле /etc/ssh/sshd_config. Откроем его:
#PermitRootLogin prohibit-password
Сохраните и закройте файл.
Перезапускать службу SSH НЕ нужно, поскольку при выборе варианта ssh.socket эта служба и так отключена и будет запущена только при следующей попытке подключения по SSH.
При самом первом подключении программа выведет сообщение:
Are you sure you want to continue connecting (yes/no/[fingerprint])?
В нём у нас спрашивается, действительно ли мы хотим подключиться, набираем: yes
Затем вводим пароль и мы оказываемся в Kali Linux:
О том, что мы в другой системе, говорит изменившееся приглашение командной строки — теперь там имя пользователя и имя хоста удалённой системы.
Как настроить аутентификацию по ключу в Kali Linux (SSH без пароля)
Отключаемся от удалённой машины. И на локальной машине (с которой заходим) выполняем команду:
Опять без предварительного подключения, выполняем команду на удалённой машине (IP и имя пользователя поменяйте на свои):
ssh root@192.168.1.68 mkdir .ssh
Теперь нам нужно скопировать содержимое файла id_rsa.pub на удалённую машину. Сделать это очень просто (не забываем менять данные на свои):
cat .ssh/id_rsa.pub | ssh root@192.168.1.68 'cat >> .ssh/authorized_keys'
После этого подключаемся как обычно, но вход уже не будет требовать пароль: