MyBookLive(Duo): доступ по SSH и безопасность
Сетевые накопители MyBookLive и MyBookLiveDuo от WesternDigital предоставляют возможность доступа по SSH. Однако, по умолчанию, данная возможность отключена. Чтобы разрешить доступ необходимо перейти по адресу http://имя_устройства_или_его_ip_адрес/UI/ssh
. На появившейся странице надо включить галку Доступ SSH
.
Следует помнить, что, возможно, предварительно придется залогиниться на вашем устройстве, если вы устанавливали пароль для пользователя admin
.
Как видно на картинке, для доступа следует использовать имя пользователя root
и пароль welc0me
(обратите внимание, что в пароле используется цифра 0
). Учтите также, что эта информация показывается всем владельцам устройств, да и вообще, она общеизвестна. Поэтому, возможно, у вас появится желание хоть как-то защитить свое устройство. Так как на устройствах установлен, пусть урезанный, но, все-таки, Linux (Lenny), то и действовать следует по правилам Linux. То есть, вы можете сменить пароль для пользователя root
. Для этого следует:
- подключиться к устройству по SSH с помощью любого клиента (при доступе из Windows я использую Putty), указав либо имя устройства, либо его сетевой (IP) адрес
- в ответ на запрос пользователя и пароля надо указать
root
иwelc0me
соответственно - в командной строке ввести
passwd root
и далее указать новый пароль и подтвердить его.
Для еще большей надежности можно поступить следующим образом (шаги про подключение я исключил, считаем, что вы уже подсоединились):
- добавить нового пользователя в систему, например при помощи следующей команды :
useradd -d /home/username -m -s /bin/bash username
. Немного пояснений по приведенной команде. Вместоusername
надо подставить (в двух местах) желаемое имя нового пользователя (например,sshuser
). Если нет желания создавать для пользователя домашний каталог, можно опустить ключи командной строки-d
и-m
, но, как мне кажется, это не очень правильно. Ну и ключ-s
задает, какая программа должна запускаться при инициализации сессии, без него плохо. - задать пароль для вновь созданного пользователя при помощи следующей команды:
passwd username
и далее указать новый пароль и подтвердить его. (Не забудьте заменитьusername
на имя созданного пользователя, например,sshuser
). - далее, надо разрешить новому пользователю доступ по SSH. Это потребует редактирование файла
/etc/ssh/sshd_config
(у вас должны быть соответствующие права, но, если вы подключились какroot
, можете не беспокоится - они у вас есть). В этом файле надо найти параметрAllowUsers
, обычно, его значение для этих устройств равноroot
. Вам же надо добавить своего нового пользователя (в примере мы назвали егоsshuser
). Для этого имя пользователя надо указать через пробел[1]. Получится что-то вроде:AllowUsers root username
( не забудьте,username
- это имя вашего пользователя). - для того, чтобы правки в файле
/etc/ssh/sshd_config
вступили в силу, надо перезапустить сервис SSH на устройстве. Делается это при помощи команды:/etc/init.d/ssh restart
.
На самом деле, можно пойти еще дальше и запретить соединение по SSH пользователю root
- считается, что это повышает безопасность системы. Для этого придется снова редактировать файл /etc/ssh/sshd_config
, изменив в нем значение параметра PermitRootLogin
со значения yes
на значение no
и убрав пользователя root
из перечисления пользователей в значении параметра AllowUsers
(и перезапустив сервис SSH командой /etc/init.d/ssh restart
). Правда, прежде, чем сделать это, я советую вам взвесить все "за" и "против" - дело в том, что если вы не слишком сильны в понимании того, что и как работает в Linux, то можно лишиться каких-нибудь возможностей при удаленной работе.
В каком направлении можно двигаться дальше, для еще большей безопасности и удобства?? Еще можно осуществлять соединение по SSH с использованием авторизации по ключу. Можно создать группу пользователей, которой разрешить соединение по SSH, используя параметр AllowGroups
, а пользователей добавлять в эту группу по мере необходимости - так можно избавиться от редактирования файла /etc/ssh/sshd_config
всякий раз при решении дать (или отобрать) тому или иному пользователю доступ по SSH. Можно придумать еще много различных решений. Но если вы , вдруг, спросите меня, на чем же, все-таки, стоит остановиться, вот мое личное мнение: для этих устройств при условии использования их в локальной домашней сетке можно вообще ничего не делать, ну, или, максимум - поменять пароль пользователя root
.
P.S. Небольшая любопытная информация для людей, решивших сменить пароль для пользователя root
- учтите, что страничка, позволяющая включить/выключить доступ по SSH и показывающая имя и пароль пользователя для подключения - статическая. То есть, она будет такой всегда, неважно, сменили ли вы пароль или создали своего пользователя для доступа по SSH. Поэтому, изменив что-либо, запишите или сохраните любым другим способом эту важную информацию - и не говорите потом, что вас не предупреждали.
Спасибо внимательному читателю, указавшему на ошибку - я ранее написал, что перечислять имена пользователей надо через запятую... А в документации написано:
AllowUsers - This keyword can be followed by a list of user name patterns, separated by spaces.
↩︎