Перейти к содержанию

Навигация

SSH: различия между версиями

3872 байта добавлено ,  9 дней назад
(не показано 10 промежуточных версий этого же участника)
Строка 16: Строка 16:


== Логин и пароль ==
== Логин и пароль ==
{{note|warn|Обязательно смените пароль!}}
{{note|warn|Смените стандартный пароль! Для удалённого доступа к контроллеру используйте [[Wiren Board Cloud]]. Если всё же надо получить прямой доступ по IP-адресу: используйте авторизацию к SSH по ключу, обязательно [[WebUI_Password |защитите веб-интерфейс и MQTT-брокер сложным паролем]], а также проверьте, что нет других проблем безопасности.}}
 
{{Wbincludes:Controller SSH Default Login Password}}
{{Wbincludes:Controller SSH Default Login Password}}


Строка 30: Строка 31:


== Подключение к SSH по ключу ==
== Подключение к SSH по ключу ==
{{note|note|Раздел не завершен.}}
Если к контроллеру есть доступ из интернета, то пароли рано или поздно могут подобрать. А ещё сам факт перебора паролей приводит к сильной загрузке процессора контроллера, что сказывается на его производительности.
Если к контроллеру есть доступ из интернета, то пароли рано или поздно могут подобрать и получить доступ к вашему контроллеру. А ещё сам факт перебора паролей приводит к сильной загрузке процессора контроллера, что сказывается на его производительности.
 
Чтобы этого избежать — рекомендуем использовать ключи доступа, один из которых остаётся у вас на компьютере, а другой отправляется на контроллер.


Чтобы этого избежать — рекомендуем использовать ключи доступа, один из который остаётся у вас на компьютере, а другой кладётся на контроллер.
Кроме этого SSH-ключи можно использовать при подключении к контроллеру через [[Wiren Board Cloud]]. Технически это ничем не отличается от подключения с компьютера с той лишь разницей, что после генерации ключа и его загрузки в контроллер, приватный ключ надо будет загрузить в облако на специальной странице.


=== Генерация ключа ===
=== Генерация ключа ===
Для авторизации по ключу используются два ключа — приватный и публичный.  
Для авторизации по ключу нам понадобятся приватный и публичный ключи. Процесс генерации немного отличается в разных операционных системах. В процессе будет задано несколько вопросов, можно просто нажать на клавиатуре <kbd>Enter</kbd> для использования значений по умолчанию.


Процесс генерации немного отличается в разных операционных системах. Вам будет задано несколько вопросов, можно просто нажать <kbd>Enter</kbd> для использования значений по умолчанию:
Компьютер с Windows:
* Windows:
# Откройте Power Shell.
*:<syntaxhighlight lang="bash">
# Введите команду
#:<syntaxhighlight lang="bash">
ssh-keygen
ssh-keygen
</syntaxhighlight>
</syntaxhighlight>
*:пара ключей будет сохранена в <code>C:\Users\<ИмяПользователя>/.ssh</code>
:пара ключей будет сохранена в <code>C:\Users\<ИмяПользователя>/.ssh</code>
* Linux:
Компьютер с Linux:
*:<syntaxhighlight lang="bash">
# Откройте командную строку.
# Введите команду
#:<syntaxhighlight lang="bash">
ssh-keygen
ssh-keygen
</syntaxhighlight>
</syntaxhighlight>
*:пара ключей будет сохранена в <code>/home/<ИмяПользователя>/.ssh/</code>
:пара ключей будет сохранена в <code>/home/<ИмяПользователя>/.ssh/</code>


В паре два файла:
В паре два файла:
Строка 55: Строка 60:


=== Загрузка ключа на сервер ===
=== Загрузка ключа на сервер ===
После того, ка мы сгенерировали ключи, загрузим публичный ключ на контроллер. Процедура немного отличается в разных операционных системах.
Ниже мы отправим публичный ключ <code>id_rsa.pub</code> на контроллер с адресом 192.168.42.1 и логином для подключения root. В процессе будет предложено ввести пароль от учётной записи на контроллере.
Компьютер с Windows:
# Откройте Power Shell.
# Введите команду:
#:<syntaxhighlight lang="bash">
type $env:USERPROFILE\.ssh\id_rsa.pub | ssh root@192.168.42.1 "cat >> .ssh/authorized_keys"
</syntaxhighlight>
Компьютер с Linux:
# Откройте командную строку.
# Введите команду
#:<syntaxhighlight lang="bash">
ssh-copy-id root@192.168.42.1 
</syntaxhighlight>
=== Запрет авторизации по паролю ===
Это полезно сделать, чтобы у злоумышленников не было возможности подбирать пароль. Убедитесь, что у вас есть доступ к консоли контроллера без пароля.
Чтобы отключить проверку пароля при подключении по SSH:
# Подключитесь к контроллеру по SSH.
# Откройте файл конфигурации:
#:<syntaxhighlight lang="bash">
nano /etc/ssh/sshd_config
</syntaxhighlight>
# Измените параметра с yes на no:
#:<syntaxhighlight lang="bash">
PasswordAuthentication no
</syntaxhighlight>
#{{Wbincludes:Save nano}}
Теперь к контроллеру подключиться по SSH можно будет только с компьютера, на котором есть приватный ключ. Процесс подключения ничем не отличается от обычного, кроме того, что пароль больше не будет запрашиваться. Если вам надо иметь доступ к контроллеру с нескольких компьютеров — скопируйте на них приватный ключ, или повторите на них процедуру генерации и добавления новых ключей.
Если вы отключили доступ по паролю и потеряли приватный ключ, включите его снова через [[Debug Console]].


== Программы ==
== Программы ==