Комментарии 20
Крайне желательно сделать проверку id пользователя, иначе — это огромная дыра в безопасности
На деле — очень странная идея, изобретать такой вот дикий костыль при куче готовых и вполне испытанных решений по доступу ~_~
Но сегодня нет примерно не одной ситуации когда можно поставить телеграм, но нельзя ssh-клент. Причем для ssh (ну когда вдруг остался без своего телефона) можно использовать закрытый ключ с паролем и хранить его в любом месте интернета (почта, гуглдрайв, на сайте, ...)
Вообще есть ситуация когда openssh сервер бесполезен. Например домашний компьютер за NAT
зы А вообще для такого полуинтерактивного удаленного рулежа я бы вообще email использовал…
Просто, несмотря на кажущиеся плюсы, у предложенного(через телеграм) подхода есть также куча минусов. Например, что с интерактивным вводом?! или как послать ^C для прерывания команды?
Но я бы всё равно ограничил набор доступных команд через sudo и самим скриптом. И емейл бы посылал при подключении через бота. Ато вдруг утечёт доступ, а вы и не узнаете.
Аналогичное решение, но без программирования, shell-команды задаются через командную строку — shell2telegram
killall python3
Серьезно?Безусловно, такой метод не претендует стать заменой классическим способам подключения, однако, он позволяет ...
Однако он аналогичен такому методу развлечения, как «зажать яйца между дверью и коробкой, самому давить со всей силы на дверь и самому же кричать, как же больно».
Для Android есть приложение JuiceSSH (есть еще несколько ssh клиентов, просто к этому уже привык). Генерируем или добавляем ключ, копируем его на все сервера сразу же. В JuiceSSH создаем записи для всех серверов (чтобы потом не вспоминать и не искать лихорадочно, какие же у них ip-адреса, и какое имя пользователя/ключ надо использовать).
Еще для Android есть приложение termux.
Для iOS есть свои аналоги, если не ошибаюсь.
Это во-первых, намного удобнее, чем костыль с телеграмом (как через телеграм конфиг редактировать? через sed
?), во-вторых, надежнее и безопаснее.
Ну и код, даже несмотря на минимальный размер, имеет массу недостатков, начиная с банального несоблюдения PEP-8 и массы совершенно ненужных комментариев а-ля:
command = message.text #текст сообщения
Серьезно найдется человек, которому этот комментарий поможет разобраться в коде???
В общем, очередной велосипед с квадратными колесами (TM).
Доступ к linux серверу с помощью Telegram-бота на Python