Практичний посібник — що робити, крок за кроком, щоб отримати максимум від SSHBorg.
Натисніть кнопку + на екрані хостів, щоб додати новий сервер.
ubuntu, root, deploy).При першому підключенні SSHBorg показує відбиток сервера та просить прийняти його. Це перевірка безпеки: вона гарантує, що ви підключаєтесь до правильної машини, а не до зловмисника. Перевірте, що відбиток збігається з наданим адміністратором сервера, перш ніж приймати.
Після прийняття відбиток зберігається локально. Якщо він зміниться при наступному підключенні, SSHBorg попередить вас — це може вказувати на перевстановлення сервера, ротацію ключів або атаку man-in-the-middle.
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
Автентифікація за ключем безпечніша за паролі та після налаштування не вимагає нічого запам'ятовувати чи вводити.
Перейдіть до Налаштування → SSH ключі → Згенерувати новий ключ. SSHBorg підтримує:
Дайте ключу значущу назву (наприклад мій-vps або робочий-сервер), щоб легко його знайти пізніше.
Після генерації ключа натисніть на нього, щоб побачити публічний ключ. Скопіюйте його та вставте у файл ~/.ssh/authorized_keys сервера для потрібного користувача.
mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo "ssh-ed25519 AAAA...вашскопійованийключ..." >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
PubkeyAuthentication yes у /etc/ssh/sshd_config. Це значення за замовчуванням на більшості дистрибутивів, але деякі захищені образи вимикають його.
SSHBorg пропонує необов'язкову додаткову парольну фразу для ваших ключів (Налаштування → SSH ключі → натисніть на ключ → Увімкнути шифрування). Коли активовано, ключ шифрується фразою, яку SSHBorg не зберігає — вона запитуватиметься кожного разу при використанні ключа.
Настійно рекомендується, якщо ви зберігаєте конфіденційні облікові дані на телефоні або біометричне блокування вимкнено.
SSHBorg показує панель підказок над клавіатурою під час введення в терміналі. Підказки беруться з історії оболонки користувача, під яким ви підключились.
При відкритті термінальної сесії SSHBorg читає файл історії оболонки з віддаленого сервера. Перевіряються такі розташування за порядком:
~/.bash_history — за замовчуванням для Bash~/.zsh_history — за замовчуванням для Zsh (також перевіряється як $HISTFILE, якщо встановлено)~/.local/share/fish/fish_history — для користувачів Fish shellВикористовується перший існуючий та доступний файл. Під час введення команди фільтруються в реальному часі та відображаються як чіпи на панелі підказок. Натисніть на чіп, щоб вставити команду.
Підказки не з'являються
~/.bashrc:
HISTFILE=~/.bash_history
HISTSIZE=10000
HISTFILESIZE=20000
~/.zshrc:
HISTFILE=~/.zsh_history
HISTSIZE=10000
SAVEHIST=10000
setopt APPEND_HISTORY SHARE_HISTORY
Підказки від неправильного користувача
sudo su - root (або переходите до іншого користувача через su), панель підказок все одно показує історію оригінального користувача входу, а не root. Це тому, що SSHBorg читає файл історії до запуску оболонки, використовуючи облікові дані входу.
root (якщо сервер це дозволяє).
SSH agent forwarding дозволяє використовувати ключі, збережені в SSHBorg, для автентифікації додаткових з'єднань, зроблених зсередини віддаленого сервера — наприклад, для git clone приватного репозиторію або для переходу на другу машину.
При додаванні або редагуванні хосту увімкніть перемикач Agent forwarding. SSHBorg діятиме як SSH агент для цієї сесії.
Сервер має дозволяти agent forwarding. Перевірте /etc/ssh/sshd_config:
AllowAgentForwarding yes
Це значення за замовчуванням на більшості систем. Після зміни перезапустіть SSH-демон:
sudo systemctl restart sshd
Якщо ви також підключаєтесь до цього сервера з ноутбука або комп'ютера, можна постійно налаштувати forwarding у локальному ~/.ssh/config:
Host myserver
HostName 203.0.113.42
User ubuntu
ForwardAgent yes
SSH — це активне TCP-з'єднання між вашим телефоном і сервером. Якщо з'єднання перервалося — навіть на секунду — сесія та все, що в ній виконувалося, втрачається.
Мобільні мережі особливо схильні до обривів з'єднання з кількох причин:
Термінальний мультиплексор запускає постійну сесію на сервері, повністю незалежну від вашого SSH-з'єднання. Якщо з'єднання обривається, сесія та все, що в ній виконується, продовжує працювати. Після повторного підключення ви відновлюєте сесію і знаходите все точно так, як залишили.
Це найкорисніша звичка для тих, хто керує серверами з телефону.
tmux доступний на більшості сучасних дистрибутивів Linux і є рекомендованим вибором.
# Запустити нову іменовану сесію
tmux new -s work
# Від'єднатися від сесії (залишити її працювати)
Ctrl+B, потім D
# Переглянути запущені сесії
tmux ls
# Приєднатися до сесії
tmux attach -t work
# Приєднатися до останньої сесії
tmux attach
screen старіший, але доступний практично на кожній Unix-системі, включаючи мінімальні серверні образи, де tmux може бути не встановлений.
# Запустити нову іменовану сесію
screen -S work
# Від'єднатися від сесії
Ctrl+A, потім D
# Переглянути запущені сесії
screen -ls
# Приєднатися до сесії
screen -r work
tmux attach || tmux new -s maintmux attach || tmux new -s main до свого ~/.bashrc або ~/.zshrc на сервері, щоб сесія мультиплексора запускалася автоматично кожного разу при вході через SSHBorg.
Jump host (також відомий як bastion host) — це проміжний сервер, через який потрібно пройти, щоб дістатися до цільового сервера, який не доступний безпосередньо з інтернету. SSHBorg нативно підтримує одно- та багаторівневі ланцюги переходів.
Якщо потрібно пройти через кілька проміжних серверів (наприклад інтернет → bastion → dmz → target), створіть запис для кожного переходу та з'єднайте їх ланцюгом:
Еквівалентне налаштування у ~/.ssh/config на комп'ютері виглядає так:
Host bastion
HostName bastion.example.com
User admin
ForwardAgent yes
Host target
HostName 10.0.1.50
User ubuntu
ProxyJump bastion
ForwardAgent yes
З цим налаштуванням ssh target на ноутбуці прозоро переходить через bastion.
SSHBorg дозволяє одночасно тримати відкритими кілька SSH-термінальних сесій та сесій файлового менеджера SFTP, навіть до різних серверів.
tmux або screen на стороні сервера, якщо хочете, щоб вони пережили навіть обрив SSH-з'єднання.
Увімкніть біометричне блокування в Налаштування → Безпека → Біометричне блокування. Коли активовано, SSHBorg вимагає відбиток пальця або розпізнавання обличчя перед показом будь-яких хостів, облікових даних або даних сесії.
Ви можете встановити таймаут бездіяльності — після цієї кількості хвилин у фоновому режимі застосунок автоматично заблокується.
За замовчуванням SSHBorg блокує знімки екрана та запис екрана, щоб конфіденційний вміст терміналу не потрапив через екран останніх застосунків або інструменти захоплення екрана.
Якщо потрібно зробити знімок (наприклад, щоб поділитися виведенням терміналу), можна тимчасово вимкнути захист у Налаштування → Безпека → Дозволити знімки.
Всі облікові дані (паролі, приватні ключі, парольні фрази) зберігаються в зашифрованому вигляді за допомогою Android Keystore — апаратно захищеного сховища, доступного на Android 10+. Вони ніколи не записуються на зовнішнє сховище і не передаються нікуди.