Как подключиться к серверу с обычного мобильного телефона


09-01-2019
Денис Л.
Linux
17
42003
Как подключиться к серверу с обычного мобильного телефона

Представьте ситуацию, когда Вы сделали работу по своему проекту, закоммитили все изменения, залили их на продакшен и уехали по своим делам (домой, на прогулку или куда-либо ещё). И тут вдруг Вы вспоминаете, что забыли включить в код одну важную функцию. Или вообще, Вы решили проверить по дороге свою работу, открываете Ваш проект с мобильного телефона и видите, что почему-то всё работает не так, как нужно и Вам срочно надо откатить все изменения на предыдущий коммит. Я сталкивался с такой ситуацией и понимаю, что в таких ситуациях действовать нужно незамедлительно, без лишнего шума и информирования начальника проекта :)

Решение заключается в установке одного приложения на свой мобильный телефон и подключения с его помощью к серверу через SSH. А имея SSH подключение, Вы сможете и отредактировать нужную функцию в нужном файле, и и откатить состояние проекта до нужного коммита, а также сделать новый коммит после этого.

Итак, как подключиться к серверу, используя свой мобильный телефон и Termux

Первым делом, устанавливаем на телефон программу Termux. Она доступна для всех современных устройств. Root-доступ не требуется. Программа бесплатна, регулярно обновляется, имеет оценку 4,7 балла и более 1 млн. скачиваний на момент написания данной статьи. Она позволяет использовать на Вашем мобильном телефоне оболочку Linux. Да, Вы поняли абсолютно правильно - полноценный Linux с командной строкой, bash и всеми остальными плюшками в Вашем телефоне! При желании Вы сможете также установить Pyton, PHP, Nodejs и многое другое. А самое главное - Вы сможете использовать полноценный пакет OpenSSH.

После установки приложения выполняем команду:

pkg install openssh -y

Вуа-ля! Теперь можем подключиться к любому серверу и выполнять там любые команды!

Т.к. в экстренной ситуации Вам будет не до поиска хоста, логина и пароля, предлагаю заранее создать аутентификацию по ключу и alias для подключения. После данных манипуляций Вам потребуется только лишь ввести команду алиаса и на Вашем экране отобразится командная строка сервера без необходимости вводить логины и пароли. Для этого заходим в папку .ssh

cd .ssh

Далее, имея перед собой хост, логин и пароль к серверу, выполняем команду:

ssh-keygen -t rsa

На все вопросы просто нажимаем Enter до тех пор, пока перед нами не появится визуальное обозначение нашего ключа, например вот такое:

The key's randomart image is:
+---[RSA 2048]----+
|  ..Bo.oo..      |
| E B o...  o     |
|  + * .  .  o  . |
| . + o .  ..    o|
|  o   o S.  . +.+|
|   . o o ..  . B=|
|    . .    o   oO|
|            o +oO|
|             .o*=|
+----[SHA256]-----+

Далее вводим команду, предварительно заменим логин@хост на свои значения:

ssh-copy-id -i ~/.ssh/id_rsa.pub логин@хост

После этого появится вопрос о добавлении ключа. Вводим 'yes' и нажимаем Enter.

Затем Вас запросят пароль. Вводим корректный пароль.

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

ssh 'логин@хост'

Теперь давайте создадим alias для быстрого запуска данной команды.

Вводим команду:

locate .bashrc

Если у Вас не установлена программа для поиска файлов locate, то Вы увидите сообщение об этом с инструкцией, как её установить. В частности, нужно будет выполнить:

pkg install mlocate -y

Поскольку база данных по файлам обновляется 1 раз в день, то обновим её вручную командой:

updatedb

После этого снова повторим команду поиска файла с настройками:

locate .bashrc

Теперь файл точно будет найден и Вы увидите путь к файлу. Возможно, он будет таким: /data/data/com.termux/files/usr/etc/bash.bashrc

Теперь нам нужно отредактировать этот файл и добавить alias для нашей команды. Используйте команду:

nano /data/data/com.termux/files/usr/etc/bash.bashrc

У Вас наверняка не будет установлен редактор nano, установите его предложенной терминалом командой.

После открытия файла bash.bashrc для редактирования, впишите на новую строку алиас команды подключения. Например:

alias server="ssh 'логин@хост'"

Сохраните файл, используя Ctrl+X. Чтобы ввести эту команду с телефона, на котором отсутствует клавиша Ctrl, а также возможность зажатия клавиш, я рекомендую использовать любую виртуальную клавиатуру для разработчиков, например клавиатуру NextApp, которая также доступна для установки для любых мобильных устройств, или любую другую виртуальную клавиатуру, на которой есть стрелки и клавиши Alt, Shift, Ctrl.

При сохранении файла не забудьте нажать Y и Enter.

Теперь, чтобы перезагрузить терминал, наберите Exit и Enter, а затем заново запустите приложение Termux.

Теперь введите имя Вашего алиаса, например server и Вы увидите командную строку Вашего сервера, на котором Вы сможете использовать всё, что Вам потребуется.

P.S. Если у Вас возникнут трудности с созданием алиаса или с созданием аутентификации по ключу, то Вы можете обойтись и без этого. Имея установленный пакет OpenSSH, вы и так сможете подключиться к серверу с помощью обычной команды:

ssh логин@хост

Или если у Вас отдельный порт для SSH:

ssh логин@хост -p номер_порта

Ключ и alias мы добавили только для Вашего же удобства, чтобы иметь возможность подключаться к серверу с помощью ввода нескольких символов, не имея под рукой никаких данных о логинах и паролях.

Подписывайтесь на группу в ВКонтакте, вступайте в сообщество на Facebook, чтобы всегда быть в курсе актуальных выпусков
Web development blog!

Читайте также:

Взлом Android KaiOS и установка приложений на Nokia 8110 4G

Как скопировать любой сайт целиком через wget и перевести его в html

Команда tar в Linux - создаём резервные копии быстро и эффективно