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

Материал из Wiren Board
(не показаны 2 промежуточные версии этого же участника)
Строка 16: Строка 16:


== Логин и пароль ==
== Логин и пароль ==
{{note|warn|Обязательно смените пароль!}}
{{Wbincludes:Controller SSH Default Login Password}}
{{Wbincludes:Controller SSH Default Login Password}}


Обязательно смените пароль, для этого введите в консоли контроллера команду <code>passwd</code> и дважды введите новый пароль:
После первого логина в консоль контроллера, рекомендуем сменить пароль на более сложный, так его будет сложнее подобрать. Если вы не знаете, какой пароль выбрать, воспользуйтесь [https://bitwarden.com/password-generator/ бесплатным генератором паролей]. Если предпочитаете придумывать пароль самостоятельно, проверьте его сложность [https://bitwarden.com/password-strength/ бесплатным тестером паролей].
 
Для смены пароля в консоли контроллера ведите команду <code>passwd</code> и дважды введите новый пароль:
<syntaxhighlight lang="console">
<syntaxhighlight lang="console">
# passwd
# passwd
Строка 25: Строка 28:
passwd: password updated successfully
passwd: password updated successfully
</syntaxhighlight>
</syntaxhighlight>
== Подключение к SSH по ключу ==
{{note|note|Раздел не завершен.}}
Если к контроллеру есть доступ из интернета, то пароли рано или поздно могут подобрать и получить доступ к вашему контроллеру. А ещё сам факт перебора паролей приводит к сильной загрузке процессора контроллера, что сказывается на его производительности.
Чтобы этого избежать — рекомендуем использовать ключи доступа, один из который остаётся у вас на компьютере, а другой кладётся на контроллер.
=== Генерация ключа ===
Для авторизации по ключу используются два ключа — приватный и публичный.
Процесс генерации немного отличается в разных операционных системах. Вам будет задано несколько вопросов, можно просто нажать <kbd>Enter</kbd> для использования значений по умолчанию:
* Windows:
*:<syntaxhighlight lang="bash">
ssh-keygen
</syntaxhighlight>
*:пара ключей будет сохранена в <code>C:\Users\<ИмяПользователя>/.ssh</code>
* Linux:
*:<syntaxhighlight lang="bash">
ssh-keygen
</syntaxhighlight>
*:пара ключей будет сохранена в <code>/home/<ИмяПользователя>/.ssh/</code>
В паре два файла:
* id_rsa  — приватный ключ, он остаётся у вас на компьютере;
* id_rsa.pub — публичный ключ, его надо отправить на контроллер.
=== Загрузка ключа на сервер ===


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

Версия 07:13, 21 июня 2024


Введение

Работа в консоли контроллера Wiren Board 7 — SSH

SSH — это протокол, при помощи которого можно получить доступ к консоли Wiren Board через локальную сеть или Интернет. Смотрите описание в Википедии.

Кроме SSH, получить доступ к консоли можно через Debug Console.

Логин и пароль

Обязательно смените пароль! Учётная запись по умолчанию: логин root, пароль wirenboard.

После первого логина в консоль контроллера, рекомендуем сменить пароль на более сложный, так его будет сложнее подобрать. Если вы не знаете, какой пароль выбрать, воспользуйтесь бесплатным генератором паролей. Если предпочитаете придумывать пароль самостоятельно, проверьте его сложность бесплатным тестером паролей.

Для смены пароля в консоли контроллера ведите команду passwd и дважды введите новый пароль:

# passwd
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully

Подключение к SSH по ключу

Раздел не завершен. Если к контроллеру есть доступ из интернета, то пароли рано или поздно могут подобрать и получить доступ к вашему контроллеру. А ещё сам факт перебора паролей приводит к сильной загрузке процессора контроллера, что сказывается на его производительности.

Чтобы этого избежать — рекомендуем использовать ключи доступа, один из который остаётся у вас на компьютере, а другой кладётся на контроллер.

Генерация ключа

Для авторизации по ключу используются два ключа — приватный и публичный.

Процесс генерации немного отличается в разных операционных системах. Вам будет задано несколько вопросов, можно просто нажать Enter для использования значений по умолчанию:

  • Windows:
    ssh-keygen
    
    пара ключей будет сохранена в C:\Users\<ИмяПользователя>/.ssh
  • Linux:
    ssh-keygen
    
    пара ключей будет сохранена в /home/<ИмяПользователя>/.ssh/

В паре два файла:

  • id_rsa — приватный ключ, он остаётся у вас на компьютере;
  • id_rsa.pub — публичный ключ, его надо отправить на контроллер.

Загрузка ключа на сервер

Программы

Windows

Для операционной системы Windows, используйте бесплатную программу PuTTY.

Linux

В операционной системе Linux, используйте PuTTY или просто выполните в консоли команду:

ssh root@192.168.42.1

Где 192.168.42.1 — IP-адрес контроллера, а root — имя пользователя. Если вы подключаетесь к контроллеру в первый раз, то система предложит принять сертификат — введите yes.

IP-адрес зависит от способа подключения и настроек контроллера. Подробнее читайте в статье Как узнать IP-адрес контроллера.

Основные команды консоли

  • ls — выводит список файлов.
  • ls -l — выводит список файлов, а также права доступа, владельца и путь к оригиналу, если файл является ссылкой.
  • pwd — выводит путь к текущему каталогу, в котором мы находимся.
  • cd — меняет текущий каталог:
    • перейти в указанный каталог:
      cd /путь/к/каталогу
      
    • перейти на верхний уровень:
      cd ..
      
    • перейти в домашний каталог пользователя:
      cd ~
      
  • mv — перемещает файл или каталог, можно использовать и для переименования:
    # переместить файл
    mv ~/filename.txt /новый_путь/filename.txt
    
    # переместить каталог
    mv ~/dirname /новый_путь/dirname
    
    # переименовать файл
    mv ~/filename.txt ~/newfilename.txt
    
  • rm — удаляет файлы и каталоги:
    # удалить файл
    rm ~/filename.txt
    
    # удалить каталог каталог со всем содержимым
    rm -r ~/dirname
    
  • cp — копирует файлы и каталоги:
    cp file.txt file_backup.txt
    
  • cat — выводит содержимое файла на экран:
    cat file.txt
    
  • mkdir — создаёт один или несколько каталогов с указанным именем:
    mkdir newdirname
    
  • chmod — изменяет права доступа к файлам и каталогам:
    # использование
    chmod опции /путь/к/файлу
    
    # например, сделать файл исполняемым
    chmod +x ~/filename.txt
    
  • touch — создаёт файлы любого типа:
    touch newfilename.txt
    
  • find — поиск файлов, например, найдём файл interfaces в каталоге /mnt/data/:
    # find /mnt/data -name "interfaces"
    /mnt/data/etc/network/interfaces
    
  • nano редактор текстовых файлов.
  • df — показывает доступное дисковое пространство:
    # df -hT
    Filesystem     Type      Size  Used Avail Use% Mounted on
    /dev/root      ext4      980M  818M   95M  90% /
    devtmpfs       devtmpfs  239M     0  239M   0% /dev
    tmpfs          tmpfs     248M     0  248M   0% /dev/shm
    tmpfs          tmpfs      99M  1.2M   98M   2% /run
    tmpfs          tmpfs     5.0M     0  5.0M   0% /run/lock
    /dev/mmcblk0p6 ext4      4.7G  1.9G  2.7G  41% /mnt/data
    tmpfs          tmpfs      50M     0   50M   0% /run/user/0
    
  • --help — посмотреть справку по команде:
    cd --help
    

Обновление прошивки

Приветственный экран команды screen

При подключении по SSH есть риск, что соединение будет разорвано: закрыли окно подключения, пропала связь и т.п. Поэтому важные команды, например, обновление прошивки, лучше выполнять через утилиту screen. Утилита создаст на контроллере виртуальную сессию командной оболочки, поэтому обрыв связи не повлияет на выполнение запущенных в ней команд.

Утилита не входит в стандартный пакет программ, поэтому ее нужно сначала установить:

apt install screen

Как работать:

  1. Запустите сеанс screen командой:
    screen
    
    После подключения вы увидите приветственный экран программы, нажмите на клавиатуре Пробел или Enter — откроется виртуальная консоль, которая внешне ничем не отличается от обычной.
  2. Дальше вводите нужные вам команды, а при разрыве связи достаточно будет переподключиться к контроллеру и открыть работающий сеанс командой:
    screen -r
    
  3. Для выхода из виртуальной консоли введите:
    exit