как установить ssh на kali linux
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 адреса. Если у вас такой возможности нет, то их можно найти путём сканирования сети, например, командой:
Вместо _gateway операционная система Linux сама подставит IP адрес вашего роутера, в результате получтися _gateway/24, то есть будет просканирована ваша локальная сеть, например, 192.168.1.0/24. Либо явно укажите диапазон для сканирования.
SSH в Kali Linux на настольных компьютерах
В Kali Linux уже установлен пакет SSH, но автоматический его запуск отключён (как и всех других сетевых служб). Следовательно, для подключения к Kali Linux по SSH нужно запустить эту службу. При желании, её можно добавить в автозагрузку.
Есть два варианта запуска службы SSH:
Второй вариант является более предпочтительным. Подробности о первом и втором варианте смотрите в «Полном руководстве по SSH».
Для запуска службы SSH в Kali Linux:
Для добавления службы в автозагрузку:
Для проверки состояния службы:
Как подключиться к Kali Linux по SSH
О том, как подключиться по SSH из различных операционных систем смотрите «Полное руководство по SSH (ч.3) Как подключиться к SSH. Настройка клиента OpenSSH».
Команда для подключения имеет следующий вид:
В качестве 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. Откроем его:
Сохраните и закройте файл.
Перезапускать службу SSH НЕ нужно, поскольку при выборе варианта ssh.socket эта служба и так отключена и будет запущена только при следующей попытке подключения по SSH.
При самом первом подключении программа выведет сообщение:
В нём у нас спрашивается, действительно ли мы хотим подключиться, набираем: yes
Затем вводим пароль и мы оказываемся в Kali Linux:
О том, что мы в другой системе, говорит изменившееся приглашение командной строки — теперь там имя пользователя и имя хоста удалённой системы.
Как настроить аутентификацию по ключу в Kali Linux (SSH без пароля)
Отключаемся от удалённой машины. И на локальной машине (с которой заходим) выполняем команду:
Опять без предварительного подключения, выполняем команду на удалённой машине (IP и имя пользователя поменяйте на свои):
Теперь нам нужно скопировать содержимое файла id_rsa.pub на удалённую машину. Сделать это очень просто (не забываем менять данные на свои):
После этого подключаемся как обычно, но вход уже не будет требовать пароль:
Ethical hacking and penetration testing
InfoSec, IT, Kali Linux, BlackArch
How to enable SSH in Kali Linux. How to connect to Kali Linux via SSH
SSH allows ones to connect to a remote computer and execute commands on it, connecting and transmitting data occurs via an encrypted channel, which is protected from various attacks of interception and data sniffing and spoofing.
SSH includes two programs: a server and a client. The server is installed on a remote machine, to which you need to connect and execute commands on it. The client is designed to connect to a remote machine.
The SSH server acts as a service that listens on port 22 by default. When connecting by default, password authentication is used – you need to enter the user password on the remote Linux system. You can also configure public key based authentication – this option is more convenient (no password is required) and more secure (keys are less prone to brute force).
Speaking about SSH in Kali Linux, you need to consider that this distribution is available in various versions (see details ‘Where to download Kali Linux. What is the difference between Kali Linux versions’): for personal computers, for ARM computers, for mobile phones, for virtual machines. Consider the specific of SSH in Kali Linux for PC and for ARM.
SSH on Kali Linux on ARM computers
Since usually ARM devices are resource-limited computers without a display, you can only manage them by connecting via SSH. For this reason, the SSH service on such devices is already installed and running by default.
In such systems, use a couple as login credentials:
The problem with ARM devices without a screen may be that their IP address is not known, because in most local networks IP addresses are automatically assigned by the DHCP protocol. Typically, routers allow you to view a list of devices and their IP addresses. If you do not have such an opportunity, then IP can be found by scanning the network, for example, with the command:
Instead of _gateway, the Linux operating system will substitute the IP address of your router, as a result, you will get _gateway/24, that is, your local network will be scanned, for example, 192.168.1.0/24. Or, explicitly specify the range for scanning.
SSH in Kali Linux on desktop computers
Kali Linux has already installed the SSH package, but its automatic launch is disabled (like all other network services). Therefore, to connect to Kali Linux via SSH, you need to start this service. If desired, it can be added to auto startup.
There are two options for starting the SSH service:
The second option is more preferred.
To start the SSH service on Kali Linux:
To add a service to startup:
To check the status of a service:
How to connect to Kali Linux via SSH
The command to connect is as follows:
As the IP_ADDRESS of the remote system, you need to specify its IP. You can find out the IP address with the command:
By the way, in order for Kali Linux to always have the same IP address after rebooting, you need to configure a static IP, as described in the article “How to configure Kali Linux to use a static IP address”.
In this case, the Kali Linux IP address is 192.168.1.68. The default user is root. Then the command should be as follows:
But the problem is that in SSH, by default, the authentication via password for the root user is blocked. There are two options to cope the problem:
We will consider both of them, but I recommend the second option, as safer and more convenient.
Why SSH does not accept root password
SSH service configuration is performed in the /etc/ssh/sshd_config file. Let’s open it:
and replace it with:
Save and close the file.
You do NOT need to restart the SSH service, because when you select the ssh.socket option, this service is already stopped and will only be launched the next time you try to connect via SSH.
At the very first connection, the program will display a message:
We type: yes
Then enter the password and we find ourselves in Kali Linux:
The fact that we are in a different system is indicated by the changed command line prompt – now there is the username and host name of the remote system.
How to configure key authentication in Kali Linux (SSH without password)
Disconnect from the remote machine. And on the local machine, execute the command:
Again, without a preliminary connection, we execute the command on the remote machine (change the IP and username to yours):
Now we need to copy the contents of the id_rsa.pub file to the remote machine. It is very simple to do this (do not forget to change the data to your own):
After that, we connect as usual, but the login will no longer require a password:
Packages and Binaries:
openssh-client
This is the portable version of OpenSSH, a free implementation of the Secure Shell protocol as specified by the IETF secsh working group.
Ssh (Secure Shell) is a program for logging into a remote machine and for executing commands on a remote machine. It provides secure encrypted communications between two untrusted hosts over an insecure network. X11 connections and arbitrary TCP/IP ports can also be forwarded over the secure channel. It can be used to provide applications with a secure communication channel.
This package provides the ssh, scp and sftp clients, the ssh-agent and ssh-add programs to make public key authentication more convenient, and the ssh-keygen, ssh-keyscan, ssh-copy-id and ssh-argv0 utilities.
In some countries it may be illegal to use any encryption at all without a special permit.
ssh replaces the insecure rsh, rcp and rlogin programs, which are obsolete for most purposes.
Installed size: 4.19 MB
How to install: sudo apt install openssh-client
OpenSSH secure file copy
OpenSSH secure file transfer
slogin
OpenSSH remote login client
OpenSSH remote login client
ssh-add
Adds private key identities to the OpenSSH authentication agent
ssh-agent
OpenSSH authentication agent
ssh-argv0
Replaces the old ssh command-name as hostname handling
ssh-copy-id
Use locally available keys to authorise logins on a remote machine
ssh-keygen
OpenSSH authentication key utility
ssh-keyscan
Gather SSH public keys from servers
openssh-server
This is the portable version of OpenSSH, a free implementation of the Secure Shell protocol as specified by the IETF secsh working group.
Ssh (Secure Shell) is a program for logging into a remote machine and for executing commands on a remote machine. It provides secure encrypted communications between two untrusted hosts over an insecure network. X11 connections and arbitrary TCP/IP ports can also be forwarded over the secure channel. It can be used to provide applications with a secure communication channel.
This package provides the sshd server.
In some countries it may be illegal to use any encryption at all without a special permit.
sshd replaces the insecure rshd program, which is obsolete for most purposes.
Installed size: 1.52 MB
How to install: sudo apt install openssh-server
openssh-sftp-server
This is the portable version of OpenSSH, a free implementation of the Secure Shell protocol as specified by the IETF secsh working group.
Ssh (Secure Shell) is a program for logging into a remote machine and for executing commands on a remote machine. It provides secure encrypted communications between two untrusted hosts over an insecure network. X11 connections and arbitrary TCP/IP ports can also be forwarded over the secure channel. It can be used to provide applications with a secure communication channel.
This package provides the SFTP server module for the SSH server. It is needed if you want to access your SSH server with SFTP. The SFTP server module also works with other SSH daemons like dropbear.
OpenSSH’s sftp and sftp-server implement revision 3 of the SSH filexfer protocol described in:
Newer versions of the draft will not be supported, though some features are individually implemented as extensions.
Installed size: 137 KB
How to install: sudo apt install openssh-sftp-server
openssh-tests
This package provides OpenSSH’s regression test suite. It is mainly intended for use with the autopkgtest system, though can also be run directly using /usr/lib/openssh/regress/run-tests.
Installed size: 5.43 MB
How to install: sudo apt install openssh-tests
This metapackage is a convenient way to install both the OpenSSH client and the OpenSSH server. It provides nothing in and of itself, so you may remove it if nothing depends on it.
Installed size: 262 KB
How to install: sudo apt install ssh
ssh-askpass-gnome
This has been split out of the main openssh-client package so that openssh-client does not need to depend on GTK+.
You probably want the ssh-askpass package instead, but this is provided to add to your choice and/or confusion.
Installed size: 294 KB
How to install: sudo apt install ssh-askpass-gnome
Настройка Kali Linux.
Продолжаем знакомство с операционной системой Kali Linux, установка которой была описана в предыдущей статье. В этой статье рассмотрим настройку сетевых соединений, SSH, а также установку дополнений гостевой ОС.
Настройка сетевых соединений
По умолчанию сетевыми подключениями управляет служба NetworkManager.
Проще настроить все соединения вручную, правкой файла /etc/network/interfaces. Но сначала нужно остановить, а потом удалить из автозагрузки NetworkManager.
Добавляем нужные настройки вручную.
Изначально содержимое файла имеет следующий вид.
Добавляем настройки в файл. Для разных режимов настройки будут разными, это касается первого адаптера работающего в режиме Сетевого моста или Nat.
Таким образом если первый адаптер работает в режиме сетевого моста, то содержание файла будет следующим, естественно с поправками на значения адресов вашей локальной сети.
Если первый адаптер работает в режиме Nat, то содержание файла будет следующим.
Пока NetworkManager отвечал за сетевые соединения, он подменял файл хранения dns-адресов /etc/resolv.conf, ссылкой на файл из своего каталога /var/run/NetworkManager/resolv.conf. Удаляем ссылку и создаем свой resolv.conf.
Добавляем адреса dns-серверов в файл /etc/resolv.conf.
Адаптер работающий в режиме Nat самостоятельно прописывает доступные адреса в файл resolv.conf, при запуске системы, но ничего не мешает изменить их вручную.
Проверяем новые настройки.
Убедимся что соединение работает и видит dns.
Настроим подключение по SSH. Отредактируем файл sshd_config.
Изменяем следующие параметры.
В Kali служба ssh по умолчанию не добавлена в автозагрузку.
Запустим службу ssh и добавим ее в автозагрузку.
Теперь к виртуальной машине можно подключаться через любой SSH клиент. Для подключения нужно использовать адрес интерфейса eth2 (192.168.56.100) на 22 порт.
Установка дополнений гостевой ОС
Дополнения гостевой ОС расширяют возможности виртуальной машины, делая ее использование более удобным и комфортным. Появляется возможность использования виртуальной машины в полноэкранном режиме, использования общего с хост-системой буфера обмена данными, а также возможности подключения общих папок, позволяющих обмениваться файлами.
Проверяем файл репозиториев.
Здесь нас интересует наличие строки.
Можно удалить вообще все содержимое файла и оставить только эту строку, после чего сохранить изменения в файле.
Выполняем обновление системы, но не обычное apt-get update, а более углубленное, apt-get dist-upgrade, без него дополнения гостевой системы работать не будут.
Устанавливаем дополнения гостевой ОС.
Для запуска полноэкранного режима нажимаем сочетание клавиш Host+F (правый Ctrl+F).
После установки дополнений гостевой ОС появляется не только полноэкранный режим. Наличие дополнений позволяет включить общий буфер обмена текстом между хост-системой и виртуальной машиной, а также подключить общую папку для обмена файлами.
Выключите виртуальную машину и запустите Virtualbox-менеджер, откройте настройки виртуальной машины. Выберите раздел общих папок. Нажмите на иконку с плюсиком и добавьте папку для расшаривания. Отметьте галочкой Авто-подключение.
Запустите виртуальную машину, после загрузки на рабочем столе появится ярлык открывающий расшаренную папку. Также ярлычок появится в Наутилусе (аналог проводника Windows). По умолчанию общая папка всегда находится в каталоге media, Nautilus > Другие места > Компьютер > media.
Для включения общего буфера обмена выбираем Устройства > Общий буфер обмена > Двунаправленный, буфер будет работать в обе стороны.
Основная настройка системы завершена, дополнения гостевой ОС установлены. Настроены все сетевые соединения, также есть возможность подключения по SSH.
В следующей статье я расскажу о возможности анонимного использования Kali Linux с помощью сети Tor и Whonix-Gateway.
Этичный хакинг с Михаилом Тарасовым (Timcore)
Блог об Этичном Хакинге
#28 Kali Linux для начинающих. Превращаем Kali Linux в SSH-сервер.
Давайте рассмотрим, как использовать SSH. Для начала изменим стандартные ключи SSH, которые есть в Kali. Не беспокойтесь о шифровании.
Не пугайтесь от шифрования, так как ключи нам нужны для того, чтобы пройти авторизацию. Когда Вы превращаете машину Kali в SSH-сервер, то для подключения как раз и нужны эти ключи. Как правило они находятся в директории «/etc/ssh»:
Далее нам нужно перенести все дефолтные ключи в созданную директорию «default-keys». Чтобы переместить все ключи, воспользуемся символом «*»:
Теперь я хочу сгенерировать новые ключи, с помощью «dpkg-reconfigure openssh-server»:
И как видим, появились новые ключи:
Это стандартная процедура, которая делается один раз, после установки Kali Linux.
По-умолчанию, в Kali нельзя авторизироваться на сервере SSH с рут-правами. Причина в том, что при авторизации пользователя в системе с рут-правами, у последнего будет полный доступ к шеллу, что не желательно для нас, так как у рут пользователя есть полный контроль над системой.
Сейчас я попробую все это изменить и авторизироваться удаленно на своей машине на Kali. Для начала поменяем файл конфигурации, который находится в «/etc/ssh/»:
И меня интересует файл конфигурации «sshd_config»:
Меня интересует строка «Permit», и я воспользуюсь поиском в этом файле с помощью клавиш «Ctrl+W». Заменяю «prohibit-password» на “yes».
Сохраняем файл с измененными настройками и выходим в окно терминала. Далее нам нужно перезапустить сервис ssh, с помощью «service ssh restart»:
Попробуем подключиться с другой машины, на настроенный SSH-сервер, который мы превратили из Kali Linux. Я буду использовать Windows 10 и программу «Putty». Скачать ее можно по ссылке «https://putty.org.ru/download.html».
Установка достаточно простая, в том числе и интерфейс, где Вы не ошибетесь с вводом ip-адреса.
Приступим, и для проверки нашего ip-адреса введем команду «ifconfig»:
Далее переходим в машину на Windows и запускаем программу:
Нас спросят, хотим ли мы принять незарегистрированные ключи, и жмем кнопку «Да»:
Осталось ввести логин и пароль для установки соединения, и мы получим наш шелл:
Я могу делать все, что захочу, используя шелл Kali Linux. Для подтверждения того, что мы находимся на машине Kali, введем команду «ifconfig», и видим результат:
Если вспомним другие лекции, то я говорил, что SSH используется для копирования и передачи данных. Если точнее, используется протокол SCP (безопасное копирование). Ссылка на скачивание: «https://winscp.net/download/WinSCP-5.15.9-Setup.exe».
Запускаем программу и пропишем ip-адрес Kali:
Обратите внимание на то, что был указан порт 22.
Далее вводим логин и пароль и меня спрашивают, доверяю ли я этому ключу:
И, в итоге, открывается графический интерфейс Kali, где я могу изменять, копировать, удалять файлы:
И давайте теперь рассмотрим, как выглядит этот процесс на операционной системе Linux. Все аналогично с Windows, только даже еще проще реализовать.
Переходим на машину Linux (У меня это Metasploitable2), далее повышаем права до рут-пользователя, так как он не соответствует рут пользователю.
Повышаем привилегии с до root, с помощью команды «sudo su». Пытаемся подключиться по SSH (ssh 192.168.15.128). Подтверждаем новые сертификаты ключей, вводим пароль и получаем доступ к шеллу:
Проверим ip-адрес и получаем ip-шник на Kali:
Чтобы завершить работу с шеллом нужно ввести команду «exit», и меня перебросит на исходную машину:
Предположим, что если нам сделать все наоборот. Допустим Вы взломали Linux-сервер, и у Вас есть его учетные данные, Вы просто меняете ip-адрес.
Чтобы подключиться к взломанному серверу в Kali нужно делать то же, только наоборот. Нужно открыть терминал и указать «ssh ». •Если Вы не указываете имя пользователя, то ssh пытается подключиться к рут-пользователю. Если Вы знаете имя пользователя, то запись будет выглядеть как: «ssh timcore@ ».