# πŸ”§ Keenetic SSH ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ сСрвис: **ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ€ΠΎΡƒΡ‚Π΅Ρ€Π°ΠΌΠΈ Keenetic ΠΏΠΎ SSH Ρ‡Π΅Ρ€Π΅Π· Telegram**. Π‘Π΅Π· Π²Π΅Π±-Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Π°, Π±Π΅Π· ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°, Π±Π΅Π· HydraRoute β€” Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±ΠΎΡ‚ ΠΈ `sshpass`. Π›ΠΎΠ³ΠΈΠΊΠ° SSH ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ взята ΠΈΠ· [keenetic-unified](https://github.com/andrey271192/keenetic-unified). ![ΠŸΡ€Π΅Π²ΡŒΡŽ: Telegram ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ SSH](docs/preview.png) --- ## ВозмоТности - `/ssh имя ΠΊΠΎΠΌΠ°Π½Π΄Π°` ΠΈ `/ssh all ΠΊΠΎΠΌΠ°Π½Π΄Π°` β€” Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ»ΠΈ всСх Ρ€ΠΎΡƒΡ‚Π΅Ρ€Π°Ρ… (verbose: exit-ΠΊΠΎΠ΄, Π²Ρ‹Π²ΠΎΠ΄) - `/neo`, `/uptime`, `/interfaces`, `/reboot`, `/ping` - `/add`, `/setip`, `/setname`, `/setweb`, `/delete`, `/list`, `/router` - Бписок Ρ€ΠΎΡƒΡ‚Π΅Ρ€ΠΎΠ² хранится Π² `data/routers.json` Π½Π° сСрвСрС --- ## ВрСбования - Ubuntu 22/24 (ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Linux с systemd) - `sshpass`, `openssh-client`, Python 3.10+ - Π’ΠΎΠΊΠ΅Π½ Π±ΠΎΡ‚Π° ΠΈ **ΠΎΠ΄ΠΈΠ½** chat ID (Π±ΠΎΡ‚ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ этому Ρ‡Π°Ρ‚Ρƒ) --- ## Установка ```bash git clone https://github.com/andrey271192/Keenetic_SSH.git /opt/keenetic-ssh cd /opt/keenetic-ssh bash install.sh nano .env ``` ΠŸΡ€ΠΈΠΌΠ΅Ρ€ `.env` (ΠΏΠΎΠ΄ΡΡ‚Π°Π²ΡŒ свои значСния ΠΈΠ· [@BotFather](https://t.me/BotFather) ΠΈ свой числовой chat id): ```env TELEGRAM_TOKEN=000000000:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA TELEGRAM_CHAT_ID=000000000 SSH_USER=root SSH_PASS=your_router_password ``` ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΠΊ послС ΠΏΡ€Π°Π²ΠΎΠΊ `.env`: ```bash systemctl restart keenetic-ssh ``` Π›ΠΎΠ³ΠΈ: ```bash journalctl -u keenetic-ssh -f ``` --- ## Π ΠΎΡƒΡ‚Π΅Ρ€Ρ‹ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ· Telegram (имя, IP ΠΈ ΠΏΡ€ΠΈ нСобходимости Π»ΠΎΠ³ΠΈΠ½/ΠΏΠ°Ρ€ΠΎΠ»ΡŒ SSH): ``` /add office1 192.168.1.1 root your_password ``` Или ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ `data/routers.json` Π½Π° сСрвСрС: ```json { "office1": { "ip": "192.168.1.1", "user": "root", "password": "your_password", "display_name": "ΠžΡ„ΠΈΡ 1", "web_url": "" } } ``` ПолС `wan_ip` поддСрТиваСтся ΠΊΠ°ΠΊ запасной Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Ссли `ip` пустой. --- ## ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ Π±ΠΎΡ‚Π° | Команда | ОписаниС | |--------|----------| | `/help` | Π‘ΠΏΡ€Π°Π²ΠΊΠ° | | `/list` | Бписок Ρ€ΠΎΡƒΡ‚Π΅Ρ€ΠΎΠ² | | `/router имя` | ΠšΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ° | | `/ssh имя ΠΊΠΎΠΌΠ°Π½Π΄Π°` | SSH Π½Π° Ρ€ΠΎΡƒΡ‚Π΅Ρ€ | | `/ssh all ΠΊΠΎΠΌΠ°Π½Π΄Π°` | На всСх с IP | | `/neo имя status\|restart` | Neo | | `/uptime`, `/interfaces`, `/reboot` | Как Π² SSH | | `/ping имя` | Ping с VPS Π΄ΠΎ IP Ρ€ΠΎΡƒΡ‚Π΅Ρ€Π° | | `/add имя IP [user] [pass]` | Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ | | `/setip`, `/setname`, `/setweb`, `/delete` | Настройка | --- ## ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° [Boosty β€” Π΄ΠΎΠ½Π°Ρ‚](https://boosty.to/andrey27/donate) **Бвязь:** [Telegram @Iot_andrey](https://t.me/Iot_andrey) β€” вопросы ΠΈ обратная связь. --- ## ОбновлСниС ```bash cd /opt/keenetic-ssh && git pull && systemctl restart keenetic-ssh ```