Инструкция по настройке и использованию SSH хоста
Полное руководство по настройке SSH доступа к HomeAssistant, безопасному подключению и выполнению команд через терминал.
Что такое SSH?
SSH (Secure Shell) — это сетевой протокол, который позволяет безопасно подключаться к удалённым компьютерам и выполнять команды на них. В HomeAssistant SSH предоставляет доступ к командной строке вашей системы, что необходимо для:
- Установки дополнительных компонентов и надстроек
- Настройки системных файлов
- Диагностики проблем
- Резервного копирования и восстановления данных
- Выполнения скриптов и автоматизации
Включение SSH в HomeAssistant
Шаг 1: Откройте настройки системы
- Войдите в интерфейс HomeAssistant
- Нажмите на своё имя пользователя в левом нижнем углу
- Выберите "Настройки" (Settings)
- В меню слева выберите "Система" (System)
Шаг 2: Активируйте надстройку SSH
- В разделе "Система" найдите "Надстройки" (Add-ons)
- Нажмите "Магазин надстроек" (Add-on Store)
- Найдите "Terminal & SSH" в списке
- Нажмите на надстройку
- Установите её, нажав кнопку "Установить" (Install)
Надстройка "Terminal & SSH" является официальной и разработана командой HomeAssistant. Она безопасна и рекомендуется к использованию.
Шаг 3: Настройте SSH
- После установки откройте надстройку
- Перейдите на вкладку "Конфигурация" (Configuration)
- Установите следующие параметры:
# Рекомендуемые настройки:
daemon_enabled: true
password: "" # Оставьте пустым для использования ключей
authorized_keys: [] # Добавьте ваши публичные ключи
sftp: true # Включите SFTP для передачи файлов
allow_agent_forwarding: false
allow_remote_forwarding: false
allow_tcp_forwarding: false
Шаг 4: Запустите надстройку
- На вкладке "Информация" (Info) нажмите "Запустить" (Start)
- Убедитесь, что надстройка показывает статус "Работает" (Running)
- Поставьте галочку "Запускать при загрузке" (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
- Скопируйте содержимое вашего публичного ключа (файл с расширением .pub):
cat ~/.ssh/id_ed25519.pub
- Откройте конфигурацию надстройки Terminal & SSH
- В поле "authorized_keys" вставьте содержимое публичного ключа
- Сохраните конфигурацию и перезапустите надстройку
Подключение с использованием ключа
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. Теперь вы можете безопасно управлять своей системой умного дома через командную строку.