🔧 Продвинутый уровень

Инструкция по настройке и использованию SSH хоста

Полное руководство по настройке SSH доступа к HomeAssistant, безопасному подключению и выполнению команд через терминал.

Что такое SSH?

SSH (Secure Shell) — это сетевой протокол, который позволяет безопасно подключаться к удалённым компьютерам и выполнять команды на них. В HomeAssistant SSH предоставляет доступ к командной строке вашей системы, что необходимо для:

  • Установки дополнительных компонентов и надстроек
  • Настройки системных файлов
  • Диагностики проблем
  • Резервного копирования и восстановления данных
  • Выполнения скриптов и автоматизации

Включение SSH в HomeAssistant

Шаг 1: Откройте настройки системы

  1. Войдите в интерфейс HomeAssistant
  2. Нажмите на своё имя пользователя в левом нижнем углу
  3. Выберите "Настройки" (Settings)
  4. В меню слева выберите "Система" (System)

Шаг 2: Активируйте надстройку SSH

  1. В разделе "Система" найдите "Надстройки" (Add-ons)
  2. Нажмите "Магазин надстроек" (Add-on Store)
  3. Найдите "Terminal & SSH" в списке
  4. Нажмите на надстройку
  5. Установите её, нажав кнопку "Установить" (Install)
ℹ️ Информация

Надстройка "Terminal & SSH" является официальной и разработана командой HomeAssistant. Она безопасна и рекомендуется к использованию.

Шаг 3: Настройте SSH

  1. После установки откройте надстройку
  2. Перейдите на вкладку "Конфигурация" (Configuration)
  3. Установите следующие параметры:
# Рекомендуемые настройки:
daemon_enabled: true
password: "" # Оставьте пустым для использования ключей
authorized_keys: [] # Добавьте ваши публичные ключи
sftp: true # Включите SFTP для передачи файлов
allow_agent_forwarding: false
allow_remote_forwarding: false
allow_tcp_forwarding: false

Шаг 4: Запустите надстройку

  1. На вкладке "Информация" (Info) нажмите "Запустить" (Start)
  2. Убедитесь, что надстройка показывает статус "Работает" (Running)
  3. Поставьте галочку "Запускать при загрузке" (Start on boot)

Подключение к HomeAssistant через SSH

Использование пароля

Для подключения используйте следующие данные:

  • Хост: IP-адрес вашего HomeAssistant (например, 192.168.1.100)
  • Порт: 22 (или другой, если вы изменили настройки)
  • Пользователь: root
  • Пароль: Пароль от HomeAssistant
ssh root@192.168.1.100
⚠️ Предупреждение о безопасности

Использование пароля для SSH-подключения менее безопасно, чем использование SSH-ключей. Рекомендуется отключить аутентификацию по паролю и использовать только SSH-ключи.

Использование SSH-ключей (рекомендуется)

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

На вашем компьютере выполните команду:

ssh-keygen -t ed25519 -C "your_email@example.com"

При генерации:

  • Нажмите Enter для сохранения ключа в стандартное расположение
  • Введите парольную фразу (необязательно, но рекомендуется для дополнительной защиты)

Добавление публичного ключа в HomeAssistant

  1. Скопируйте содержимое вашего публичного ключа (файл с расширением .pub):
cat ~/.ssh/id_ed25519.pub
  1. Откройте конфигурацию надстройки Terminal & SSH
  2. В поле "authorized_keys" вставьте содержимое публичного ключа
  3. Сохраните конфигурацию и перезапустите надстройку

Подключение с использованием ключа

ssh -i ~/.ssh/id_ed25519 root@192.168.1.100
✅ Успешное подключение

После успешного подключения вы увидите приветственное сообщение HomeAssistant и сможете вводить команды.

Основные команды SSH

Навигация по файловой системе

# Просмотр текущей директории
pwd

# Список файлов и папок
ls -la

# Переход в директорию
cd /path/to/directory

# Возврат на уровень вверх
cd ..

Работа с файлами

# Просмотр содержимого файла
cat filename.yaml

# Редактирование файла (nano)
nano filename.yaml

# Копирование файла
cp source.yaml destination.yaml

# Перемещение/переименование
mv oldname.yaml newname.yaml

# Удаление файла
rm filename.yaml

# Создание директории
mkdir new_directory

# Удаление директории
rm -r directory

Управление HomeAssistant

# Перезагрузка HomeAssistant
ha restart

# Проверка конфигурации
ha core check

# Обновление Home Assistant
ha core update

# Просмотр логов
ha core logs

# Резервное копирование
ha backups partial

Безопасность SSH

Рекомендации по безопасности

  • Используйте SSH-ключи вместо паролей
  • Измените стандартный порт с 22 на другой
  • Отключите root-доступ если он не нужен
  • Используйте fail2ban для защиты от брутфорса
  • Ограничьте доступ по IP если возможно
  • Не передавайте SSH через интернет без VPN

Изменение порта SSH

В конфигурации надстройки Terminal & SSH:

# Измените порт
port: 2222

# Подключение с новым портом:
ssh -p 2222 root@192.168.1.100

Решение проблем

Не удаётся подключиться

  • Проверьте, что надстройка SSH запущена
  • Убедитесь, что IP-адрес правильный
  • Проверьте настройки брандмауэра
  • Попробуйте подключиться с другого устройства
  • Проверьте логи надстройки на наличие ошибок

Ошибка "Connection refused"

Эта ошибка обычно означает, что:

  • SSH-сервер не запущен
  • Неверный порт
  • Брандмауэр блокирует подключение

Ошибка "Permission denied"

Проверьте:

  • Правильность логина и пароля
  • Корректность SSH-ключа
  • Права доступа к файлу ключей

Дополнительные возможности

SFTP для передачи файлов

SFTP (SSH File Transfer Protocol) позволяет безопасно передавать файлы между вашим компьютером и HomeAssistant.

Для подключения через SFTP используйте:

  • Клиент: FileZilla, WinSCP или Cyberduck
  • Протокол: SFTP
  • Хост: IP-адрес HomeAssistant
  • Порт: 22 (или ваш кастомный)
  • Пользователь: root

SSH-туннелирование

SSH-туннелирование позволяет безопасно передавать данные через SSH-соединение:

# Локальный туннель
ssh -L 8080:localhost:8080 root@192.168.1.100

# Динамический туннель (SOCKS proxy)
ssh -D 1080 root@192.168.1.100

Полезные скрипты

Автоматическое резервное копирование

Создайте скрипт для автоматического создания резервных копий:

#!/bin/bash
# Скрипт резервного копирования
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_NAME="backup_$DATE"
ha backups partial --name "$BACKUP_NAME"
echo "Резервная копия создана: $BACKUP_NAME"

Мониторинг системы

# Информация о системе
ha os info

# Использование диска
ha os host stats

# Информация о надстройках
ha addons list

Дополнительные ресурсы

🎉 Поздравляем!

Вы освоили основы настройки и использования SSH в HomeAssistant. Теперь вы можете безопасно управлять своей системой умного дома через командную строку.

Связанные учебники