SSH сервер и VNC сервер в Kali 2 и Kali 2016

Осенью вышел Kali Linux 2.0, когда с ним работаешь локально, то проблем не возникает, а вот для удаленных подключений требуется добавить и изменить некоторые компоненты, а точнее SSH сервер и VNC сервер Так же данная статья подходит для Kali Linux 2016 (Rolling), потому что в нем так же отсутствуют SSH и VNC из коробки. Об этом и пойдет далее речь.

Первым делом включим SSH сервер и разрешим подключаться root пользователю с использованием пароля.

для этого откроем файл /etc/ssh/sshd_config и заменим строку:

PermitRootLogin without-password

на строку:

PermitRootLogin yes

тем самым разрешив пользователю root использовать пароль для входа.

И пересоздадим автозагрузку openssh-server командами (из коробки он грузится не с теми правами):

update-rc.d -f ssh remove
update-rc.d -f ssh defaults
update-rc.d ssh enable

Ниже приведена установка VNC сервера для устаревшего способа запуска через init.d. Актуальный способ запуска через systemd описан в статье: Настройка VNC сервера в Kali с использованием systemd (для оконного менеджера MATE).

Установим оконный менеджер MATE. В текущей конфигурации GNOME не хочет работать совместно с VNCserver:

apt-get install mate-desktop-environment

Запустим один раз vncserver и завершим его.

vncserver
vncserver -kill :1

Далее откроем файл в домашней директории ~/.vnc/xstartup
Закомментируем запуск GNOME и добавим запуск MATE в конце файла. Должно получиться что-то похоже на:

#/etc/X11/Xsession
/usr/bin/mate-session

А так же добавим строки (если их нет):

unset DBUS_SESSION_BUS_ADDRESS
export XKL_XMODMAP_DISABLE=1

должно получиться так:

#!/bin/sh

unset DBUS_SESSION_BUS_ADDRESS
xrdb $HOME/.Xresources
xsetroot -solid grey
#x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
# Fix to make GNOME work
export XKL_XMODMAP_DISABLE=1
#/etc/X11/Xsession
/usr/bin/mate-session

Теперь добавим vncserver в автозагрузку. Для этого создадим скрипт /etc/init.d/vncserver:

#!/bin/sh
# kFreeBSD do not accept scripts as interpreters, using #!/bin/sh and sourcing.
if [ true != "$INIT_D_SCRIPT_SOURCED" ] ; then
set "$0" "$@"; INIT_D_SCRIPT_SOURCED=true . /lib/init/init-d-script
fi
### BEGIN INIT INFO
# Provides: vncserver
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Example initscript
# Description: This file should be used to construct scripts to be
# placed in /etc/init.d. This example start a
# single forking daemon capable of writing a pid
# file. To get other behavoirs, implemend
# do_start(), do_stop() or other functions to
# override the defaults in /lib/init/init-d-script.
### END INIT INFO

# Author: Black Diver admin@blackdiver.net

DESC="VNCSERVER"
DAEMON=/usr/bin/vncserver
DISPLAY="1"
DEPTH="16"
GEOMETRY="1366x768"
OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"
USER="root"

case "$1" in
start)
log_action_begin_msg "Starting vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "${DAEMON} ${OPTIONS}"
;;

stop)
log_action_begin_msg "Stoping vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "${DAEMON} -kill :${DISPLAY}"
;;

restart)
$0 stop
$0 start
;;
esac

exit 0

сделаем его исполняемым:

chmod +x /etc/init.d/vncserver

и добавим его в автозагрузку:

update-rc.d vncserver defaults

Далее перезагружаемся и проверяем. VNC сервер должен работать на порту 5901, а так же SSH сервер должен принимать входящие подключения.

Заказать создание и поддержку безопасной IT-инфраструктуры любой сложности

Быть уверенным в своей IT-инфраструктуре — это быть уверенным в завтрашнем дне.

Для того, чтобы сделать заказ:

Заполните форму обратной связи и мы обязательно с вам свяжемся:
Форма обратной связи
Позвоните нам по телефону:
+7(909)952-44-33
Напишите нам на электронную почту:
order@blackdiver.net
Напишите нам в Telegram:
Telegram
Другие способы связи Вы сможете найти в разделе Контакты.

5 мыслей о “SSH сервер и VNC сервер в Kali 2 и Kali 2016”

  1. Здраствуйте,скажу сразу,с linux знаком не давно,но пытаюсь изучить усиленными методами )
    Что значит «Далее откроем файл в домашней директории ~/.vnc/xstartup» ,т.е. домашняя директория /root/.vnc/xstartup ,если да ,то /.vnc/xstartup в данной директории отсутствует у меня на пк,если нет,то подскажите где эта директория находится,поиск папок/файлов с таким названием /.vnc/xstartup не помог.До этого момента все шло по инструкции.Заранее благодарен

    1. Здравствуйте Alex! Домашняя директория в данном случае /root/ так же для домашней директории активного пользователя используется сокращение — ~, после первого запуска VNC сервера этот файл и папка .vnc должны там появиться, но возможно они скрытые. Полный список файлов и папок можно посмотреть командой: ls -lia ~

  2. Вышла ошибка.
    # update-rc.d vncserver defaults
    insserv: Script vncserver is broken: incomplete LSB comment.
    insserv: missing valid name for `Provides:’ please add.

    решилось добавлением в /etc/init.d/vncserver в строке пункт
    # Provides: vncserver

    1. Спасибо за добавление! Возможно в новой версии Kali произошли какие-то изменения. Я с таким во время настройки не сталкивался. Сейчас внесу исправления в статью.