Осенью вышел 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-инфраструктуре – это быть уверенным в завтрашнем дне. Для того, чтобы сделать заказ:
|
Здраствуйте,скажу сразу,с linux знаком не давно,но пытаюсь изучить усиленными методами )
Что значит “Далее откроем файл в домашней директории ~/.vnc/xstartup” ,т.е. домашняя директория /root/.vnc/xstartup ,если да ,то /.vnc/xstartup в данной директории отсутствует у меня на пк,если нет,то подскажите где эта директория находится,поиск папок/файлов с таким названием /.vnc/xstartup не помог.До этого момента все шло по инструкции.Заранее благодарен
Здравствуйте Alex! Домашняя директория в данном случае /root/ так же для домашней директории активного пользователя используется сокращение – ~, после первого запуска VNC сервера этот файл и папка .vnc должны там появиться, но возможно они скрытые. Полный список файлов и папок можно посмотреть командой: ls -lia ~
# nano ~/.vnc/xstartup
Вышла ошибка.
# 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
Спасибо за добавление! Возможно в новой версии Kali произошли какие-то изменения. Я с таким во время настройки не сталкивался. Сейчас внесу исправления в статью.