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

Вопрос

Опубликовано

Доброго времени суток.

Имеется контейнер в docker под Linux (с ограниченным функционалом) из которого я бы хотел посылать команды на интернет центр keenetic ultra на включение и отключение интерфейсов (VPN).
Установить Telnet на этот контейнер нельзя. Зато есть SSH.
Собственно им я и воспользовался:
Сгенерил ключи в докер контейнере

bash-5.0# ssh-keygen


Скопировал ключи на желаемый host

ssh-copy-id -i /config/.ssh/id_rsa.pub pi@192.168.1.1


Тут меня постигла неудача.
Команда

bash-5.0# ssh -i /config/.ssh/id_rsa user@192.168.1.1 interface OpenVPN0 down

выполняется, но не автоматом. Интрнет центр не проводит авторизацию по ключу, и всё-равно просит пароль.

Подскажите, пожалуйста, как я могу управлять интерфейсами интрнет центра из командной строки docker конейнера без авторизации по паролю, если описанный метод авторизации по ключю не работает?

PS в контейнере есть curl

Рекомендуемые сообщения

  • 0
Опубликовано

sshd сервер какой ? Прошивочный, entware, debian, gentoo и т.д. ?

В /etc/sshd_config раскомментирована строка:

# Expect .ssh/authorized_keys2 to be disregarded by default in future.
AuthorizedKeysFile<--->.ssh/authorized_keys .ssh/authorized_keys2

На кинетике user создан ?

Если зайти на кинетик в /home/user/.ssh/authorized_keys лежит ?

 

  • 0
Опубликовано
17 minutes ago, laforsh said:

sshd сервер какой ? Прошивочный, entware, debian, gentoo и т.д. ?

В /etc/sshd_config раскомментирована строка:

# Expect .ssh/authorized_keys2 to be disregarded by default in future.
AuthorizedKeysFile<--->.ssh/authorized_keys .ssh/authorized_keys2

На кинетике user создан ?

Если зайти на кинетик в /home/user/.ssh/authorized_keys лежит ?

 

Извиняюсь, не все вопросы понятны.
Речь идёт про Home Assistant в докер контейнере.

USER создан.


/home/user/.ssh/authorized_keys проверить не получается. Т.к. команды cd, ls - l и многие другие не выполняются

Строка В /etc/sshd_config на интрент центре? 

KeeneticOS version 3.05.C.2.0-1, copyright (c) 2010-2020 Keenetic Ltd.


THIS SOFTWARE IS A SUBJECT OF KEENETIC LIMITED END-USER LICENCE AGREEMENT. BY
USING IT YOU AGREE ON TERMS AND CONDITIONS HEREOF. FOR MORE INFORMATION PLEASE
CHECK https://keenetic.com/legal

(config)> cd
Command::Base error[7405600]: no such command: cd.
(config)> cat
(config)> ls -l
Command::Base error[7405602]: directory: argument parse error.
(config)> cat /etc/sshd_config
(config)>

 

  • 0
Опубликовано

Проверил на докер контейнере отпечаток ключа
ssh-keygen -lf /config/.ssh/id_rsa.pub
И сравнил с  show ssh fingerprint с интернет центра

Совпадений нет.

PS
sshpass пробовал. Он к сожалению отсутствует в данном контейнере как и телнет

  • 0
Опубликовано

 

22 часа назад, Michael_ich сказал:

есть docker под Linux (с ограниченным функционалом) из которого я бы хотел посылать команды на интернет центр keenetic ultra на включение и отключение интерфейсов

Теория у Вас немного хромает. sshd должен быть установлен на роутере (как рация - на бронепоезде). Почитайте до понимания статью https://help.ubuntu.ru/wiki/ssh

"Выполнение команд через ssh в entware/debian" и "выполнение команд через telnet в cli кинетика" - это две большие разницы. С sshd из прошивки вряд ли чем помогу, ибо не использую и не знаю его настроек. С sshd из entware или debian (как будет понимание что делаем и когда они будут установлены на роутер) - пишите, чем смогу. Постоянно пользуюсь такой схемой запуска команд на удаленных серверах.

Судя по фразе

22 часа назад, Michael_ich сказал:

Команда


bash-5.0# ssh -i /config/.ssh/id_rsa user@192.168.1.1 interface OpenVPN0 down

выполняется, но не автоматом. Интрнет центр не проводит авторизацию по ключу, и всё-равно просит пароль.

вы на полпути к цели. Ключ не скопировался (или не подхватился сервером), но какой-то sshd на вашем роутере все таки имеется. И, кстати, ваша команда "interface OpenVPN0 down" отрабатывает как нужно ?

  • 0
Опубликовано
9 minutes ago, laforsh said:

 

Теория у Вас немного хромает. sshd должен быть установлен на роутере (как рация - на бронепоезде). Почитайте до понимания статью https://help.ubuntu.ru/wiki/ssh

"Выполнение команд через ssh в entware/debian" и "выполнение команд через telnet в cli кинетика" - это две большие разницы. С sshd из прошивки вряд ли чем помогу, ибо не использую и не знаю его настроек. С sshd из entware или debian (как будет понимание что делаем и когда они будут установлены на роутер) - пишите, чем смогу. Постоянно пользуюсь такой схемой запуска команд на удаленных серверах.

Судя по фразе

вы на полпути к цели. Ключ не скопировался (или не подхватился сервером), но какой-то sshd на вашем роутере все таки имеется. И, кстати, ваша команда "interface OpenVPN0 down" отрабатывает как нужно ?

На интрент центре уже стоит entware по этой инструкции.

"interface OpenVPN0 down" отрабатывает как нужно в cli кинетика

В entware 

BusyBox v1.31.1 () built-in shell (ash)

~ # interface OpenVPN0 down
-sh: interface: not found
~ #

 

  • 0
Опубликовано (изменено)
5 minutes ago, ShadoW said:

А так?

ndmq -p "interface OpenVpn0 down"
 

 Работает)
А как вывести список доступных интрефейсов таким способом?

Изменено пользователем Michael_ich
  • 0
Опубликовано
1 час назад, Michael_ich сказал:

На интрент центре уже стоит entware по этой инструкции.

ОК, какой ssh сервер стоит на роутере ? dropbear (который используется по умолчанию в инструкции по установке entware) или отдельно ставили openssh-server ? Если не знаете, то зайдите через putty по ssh на роутер и дайте сюда под спойлер выхлоп ls -l /etc  и ls -l /etc/ssh

 

  • 0
Опубликовано (изменено)
4 minutes ago, laforsh said:

ОК, какой ssh сервер стоит на роутере ? dropbear (который используется по умолчанию в инструкции по установке entware) или отдельно ставили openssh-server ? Если не знаете, то зайдите через putty по ssh на роутер и дайте сюда под спойлер выхлоп ls -l /etc  и ls -l /etc/ssh

 

~ # ls -l /etc
lrwxrwxrwx    1 root     root             7 Oct 30 11:17 TZ -> /var/TZ
-rw-r--r--    1 root     root         37952 Oct 30 11:17 components.xml
-rw-r--r--    1 root     root           805 Oct 19 18:52 devices
lrwxrwxrwx    1 root     root            10 Oct 30 11:17 group -> /tmp/group
lrwxrwxrwx    1 root     root            18 Oct 30 11:17 host.conf -> /opt/etc/host.conf
lrwxrwxrwx    1 root     root            10 Oct 30 11:17 hosts -> /var/hosts
lrwxrwxrwx    1 root     root             7 Oct 30 11:17 localtime -> /var/TZ
-rw-r--r--    1 root     root          1061 Oct 30 11:17 modules.autoload
lrwxrwxrwx    1 root     root            12 Oct 30 11:17 mtab -> /proc/mounts
drwxr-xr-x    2 root     root           123 Oct 30 11:17 nginx
lrwxrwxrwx    1 root     root            22 Oct 30 11:17 nsswitch.conf -> /opt/etc/nsswitch.conf
lrwxrwxrwx    1 root     root            11 Oct 30 11:17 passwd -> /tmp/passwd
lrwxrwxrwx    1 root     root             8 Oct 30 11:17 ppp -> /var/ppp
lrwxrwxrwx    1 root     root            16 Oct 30 11:17 preinit -> /opt/etc/preinit
lrwxrwxrwx    1 root     root            16 Oct 30 11:17 profile -> /opt/etc/profile
-rw-r--r--    1 root     root          5552 Oct 19 18:52 protocols
lrwxrwxrwx    1 root     root            18 Oct 30 11:17 rc.common -> /opt/etc/rc.common
lrwxrwxrwx    1 root     root            16 Oct 30 11:17 resolv.conf -> /var/resolv.conf
-rw-r--r--    1 root     root         18105 Oct 19 18:52 services
lrwxrwxrwx    1 root     root            15 Oct 30 11:17 shells -> /opt/etc/shells
drwxr-xr-x    4 root     root            59 Oct 30 11:17 ssl
-rw-r--r--    1 root     root           211 Oct 19 19:31 strongswan.conf
drwxr-xr-x    3 root     root            29 Oct 30 11:17 strongswan.d
lrwxrwxrwx    1 root     root            21 Oct 30 11:17 uci-defaults -> /opt/etc/uci-defaults
drwxr-xr-x    2 root     root           222 Oct 30 11:17 wlan
~ # ls -l /etc/ssh
ls: /etc/ssh: No such file or directory

Отдельно ничего не ставил

Изменено пользователем Michael_ich
  • 0
Опубликовано

зайдите через putty по ssh на роутер и перенесите файл /root/.ssh/authorized_keys в /etc/dropbear/authorized_keys командой

mv /root/.ssh/authorized_keys /etc/dropbear

В принципе если ранее давали команду

ssh-copy-id -i /config/.ssh/id_rsa.pub pi@192.168.1.1

то /root/.ssh/authorized_keys уже там должен лежать

  • 0
Опубликовано (изменено)

Хотя... Если его там нет, то зайти на на докер и дать команду копирования ключа на роутер:

ssh-copy-id -i ./config/.ssh/id_rsa.pub root@IP адрес роутера

Потом на роутере

mv /root/.ssh/authorized_keys /etc/dropbear

 

Изменено пользователем laforsh
  • 0
Опубликовано (изменено)
On 10/30/2020 at 4:04 PM, laforsh said:

Хотя... Если его там нет, то зайти на на докер и дать команду копирования ключа на роутер:

ssh-copy-id -i ./config/.ssh/id_rsa.pub root@IP адрес роутера

Потом на роутере

mv /root/.ssh/authorized_keys /etc/dropbear

 

mv /opt/root/.ssh/authorized_keys /opt/etc/dropbear

Файил authorized_keys передвинулся. Я его вижу командой cat /opt/etc/dropbear/authorized_keys

Но

ssh -i /config/.ssh/id_rsa root@192.168.1.1 -p 222

все равно просит пароль

Изменено пользователем Michael_ich

Присоединяйтесь к обсуждению

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

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.