- How to Enable and Start SSH on Kali Linux
- About the Author
- Corey Batiuk
- HackWare.ru
- Этичный хакинг и тестирование на проникновение, информационная безопасность
- Как включить SSH в Kali Linux. Как подключиться к Kali Linux по SSH
- SSH в Kali Linux в ARM компьютерах
- SSH в Kali Linux на настольных компьютерах
- Как подключиться к Kali Linux по SSH
- Почему SSH не принимает пароль root
- Как настроить аутентификацию по ключу в Kali Linux (SSH без пароля)
How to Enable and Start SSH on Kali Linux
Here at LMG Security, we’re passionate about providing excellent cybersecurity services to organizations around the world. We’re also passionate about increasing cybersecurity awareness through our various training programs. Thanks for visiting our blog and we hope you find this post helpful!
The Linux distribution Kali used by many penetration testers (including those here at LMG Security) recently released version 2017.1 of their rolling release. For quite some time now (Since version 2.0) Kali has used Systemd (System Management Daemon) in place of an init system. This change brought with it a new way of enabling and starting services, even though many still use the old commands, which often still work but may also lead to errors. This post will go over the Systemd method for enabling and starting the SSH (Secure Shell) service on Kali Linux.
The openssh-server package should already be installed, to verify this you can use the following command:
You should see the version with [installed] after it like this:
If it’s not installed, you can use this command to install it:
# apt install openssh-server
When enabling the service, be sure to fully secure SSH first. I will cover some of the basics briefly, but this is not meant to be a guide on securely running an SSH server. Since Kali comes with pre-generated SSH keys, to make it more secure, the first thing we will do is generate new ones.
To backup the original keys first as a precaution use:
# mkdir /etc/ssh/default_keys # mv /etc/ssh/ssh_host_* /etc/ssh/default_keys/
Then to regenerate the keys:
# dpkg-reconfigure openssh-server
The next step is to edit the SSH server configuration file with the settings you need:
If you are only planning on using SSH briefly the defaults are probably fine. If you think you will use it for a length of time I would recommend at minimum enabling public key authentication:
Then disabling password authentication:
PasswordAuthentication no
You could also allow the root user login here, but instead consider creating a non-privileged user account instead.
It’s useful to know that Systemd has different units, a unit configuration file encodes information. The units relevant to SSH are ssh.service and ssh.socket. At a basic level a service unit controls a process and a socket unit controls a filesystem or network socket.
If you only need to temporarily start up the SSH service it’s recommended to use ssh.socket:
# systemctl start ssh.socket
To instead permanently enable the SSH service to start whenever the system is booted use:
# systemctl enable ssh.service
Then to use SSH immediately without having to reboot use:
# systemctl start ssh.service
To check the status of the service you can use:
# systemctl status ssh.service
To stop the SSH service use:
# systemctl stop ssh.service
And to disable the SSH service so it no longer starts at boot:
# systemctl disable ssh.service
This gives you the basics of starting and enabling the SSH service in Kali Linux. If you are planning on using the system for any length of time I highly recommend going further with securing the SSH service. If you have any questions or comments about SSH on Kali Linux, contact us at [email protected]
About the Author
Corey Batiuk
Corey Batiuk is LMG Security’s Pentest Team Lead and has been working in technology over 13 years. Corey has wide experience in testing, including: Internal and External Penetration Testing, Mobile Application Security Assessments, Web Application Security Assessments, Wireless Security Assessments, Social Engineering Testing, and Threat Hunting. Prior to that he worked as an engineer for a managed service provider. Corey graduated with honors from the University of Montana with a bachelor’s degree in Psychology and a minor in Sociology. Corey has also presented at several security conferences.
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'
После этого подключаемся как обычно, но вход уже не будет требовать пароль: