Debian.pro/

Про Debian


Чем админить серверы с телефона? Termux (android ssh client).

На всякий случай напоминаю — на blackberry keyone/keytwo/K2 LE есть физическая клавиатура с кнопкой ctrl.

Долгое время я думал о том, как было бы офигенно открывать консоль на телефоне и просто писать ssh host куда нужно. Более или менее что-то похожее было в Terminus, но доверять ему ключ/пароли не хотелось (а нечего было всякие облачные функции и аналитику прикручивать).
А пару дней назад я наткнулся на Termux. И да — он делает ровно то, чего мне хотелось (что вообще-то… кхм… случается редко, мягко говоря). Запускает консоль, в ней — chroot в debian-based обкусанный дистрибутив. Но внутри есть apt, которым можно поставить пакеты — как минимум, я поставил openssh (клиент), rsync, dnsutils, curl, vim и что-то там по мелочи. Ansible, к сожалению, пока не удалось =) ssh-agent тоже есть. Короче, здравствуйте воспоминания о nokia N900.
Единственное но — без рута на телефоне (termux поддерживает su-нутые телефоны, но сам не рутает — да и на BB рута не получили, даже протестировать не могу) не будет доступа к процессам и файловой системе за пределами «родного» chroot-a, но для задачи «открыть консоль, написать ssh host» или «curl something» рут не понадобится.

Ах да — работает быстро. Стартует быстрее терминуса на глаз раз в 20 быстрее, несмотря на то, что тащит под собой по сути отдельный контейнер.
Вкладочки есть, открываются свайпом от левого края. Не очень удобные, но работать можно. Масштаб щипком меняется.
В общем-то написать про него больше нечего. Задачу свою выполняет идеально, а дальше лучше сами смотрите.
Оф. сайты — https://termux.com/ , https://wiki.termux.com
Из гплея можно поставить отсюда — https://play.google.com/store/apps/details?id=com.termux


Комментарии (6):

  1. Karavan :

    Почему ты пишешь ssh client, если это по-факту эмулятор?
    Конкретно для ssh я использую ConnectBot
    https://play.google.com/store/apps/details?id=org.connectbot

    И к нему клавиатурка с Ctrl и всем остальным «Hacker’s Keyboard»
    https://play.google.com/store/apps/details?id=org.pocketworkstation.pckeyboard

  2. > Почему ты пишешь ssh client, если это по-факту эмулятор?
    Потому и пишу, что найти его как ssh client в play проблематично. И это *самый* удобный ssh-клиент (пусть и с кучей других «ненужных фич») из доступных на андроиде.

    Hacker’s Keyboard хорош, а вот ConnectBot — шлак. Terminus был лучше, но тоже шлак.

  3. Михаил :

    JuiceSSH как клиент неплох. Но вообще, админить с тела — это очень крайний случай должен быть…

  4. > админить с тела — это очень крайний случай должен быть…
    Админить — это громко сказано. А вот зайти и пару команд дернуть — вполне себе.
    Вообще всё от телефона зависит, я с BB много чего делал, когда за ноутом было лень идти. А на desire z в своё время больше факапов починил, чем с ноута.

  5. > JuiceSSH
    Им пользовался, кстати, до терминуса и термукса.
    Проблема та же — пока вобьёшь все десятки серверов — седым станешь. Немножко спасало использование jump-хоста, но это не всегда удобно.

    А самая главная проблема — что новый коннект создавать куда менее удобно, чем написать ssh host.

  6. andrey22 :

    Get-WindowsCapability -Online | ? Name -like ‘OpenSSH.Ser*’
    namo : openssh.serever***0.0.1.0
    state: installed

    Set-Service -Name sshd -StartupType ‘Automatic’
    Start-Service sshd
    Для корректной работы «SSH-сервера», нужно добавить разрешающие правила в Windows Defender Firewall
    Авторизуемся под учетными данными нашей виртуальный машины и переходим по пути «Control Panel» -> «System and Security» -> «Windows Defender Firewall»
    Открываем параметр «Windows Defender Firewall» и кликаем по пункту «Advanced Settings»

    Выбираем пункт «Inbound Rules» и создаем новое правило при помощи кнопки «New Rule»
    Выбираем тип правила «Port»
    Указываем протокол «TCP» и порт «2222»
    Разрешаем подключение к выбранному порту «Allow the connection»
    Выбираем тип сетей, где будет доступен протокол
    Называем правило «SSH» и нажимаем кнопку «Finish» для завершения создания правила
    Открываем конфигурацию «SSH-сервера» для редактирования
    изменяем port 2222

    открываем
    start-process notepad C:\Programdata\ssh\sshd_config

    permitRootLogin yes
    PasswordAuthentication yes
    permitEmptyPassword no

    restart-service sshd

    открываем hq-r
    iptables -t nat -A PREROUTING —dst 1.1.1.100 -p tcp —dport 22 -j DNAT —to-destination 192.168.0.60:2222

    ip6tables -t nat -A PREROUTING —dst 1110:a::100 -p tcp —dport 22 -j DNAT —to-destination 192:168:d::6:2222

    dpkg-reconfigure iptables-persistent
    [ Виртуальная машина HQ-SRV ]
    Авторизуемся под учетными данными нашей виртуальный машины и переходим по пути «Control Panel» -> «System and Security» -> «Windows Defender Firewall»
    Открываем параметр «Windows Defender Firewall» и кликаем по пункту «Advanced Settings»
    Выбираем пункт «Inbound Rules» и создаем новое правило при помощи кнопки «New Rule»
    Выбираем тип правила «Custom»
    Выбираем тип «All Programs»
    Выбираем тип протокола «TCP» и указываем локальный порт «2222»
    Указываем IP-адреса, которые будут заблокированы к SSH-сервису
    Запрещаем подключение к выбранному порту «Block the connection
    Называем правило «BlockCLI-SSH» и нажимаем кнопку «Finish» для завершения создания правила

Написать комментарий