操作ガイド — AndroidとiOSでSSHBorgを最大限に活用するための手順書。iOS版で異なる点は、iOSと記されたメモで示します。
ホスト画面の + ボタンをタップして新しいサーバーを追加します(iOSでは小さなメニューが開くので、ホストを追加を選びます)。
ubuntu、root、deploy)。初回接続時にSSHBorgはサーバーのフィンガープリントを表示し、承認を求めます。これはセキュリティチェックです。接続先が正しいサーバーであり、なりすましでないことを確認します。承認前に、サーバー管理者から提供されたか信頼できる手段で確認したフィンガープリントと一致するかを確かめてください。
承認後、フィンガープリントはローカルに保存されます。将来の接続でフィンガープリントが変わった場合、SSHBorgは警告を表示します。これはサーバーの再構築、鍵のローテーション、または中間者攻撃を示している可能性があります。
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
サーバーの一覧が増えてきたら、ホストを折りたたみ可能な色分けグループに整理できます。例:本番、自宅ラボ、クライアント。
iOSでは、+ ボタン → 新しいグループ から、グループだけを作成することもできます。
色はクイックスウォッチから選ぶことも、Androidではグラデーションのカラーピッカーで自由に作ることもできます(iOSではスウォッチから選びます)。ホストには専用の色も設定でき(ホスト編集画面のグループのすぐ下)、グループの色より優先され、グループのないホストでも使えます。
グループのないホストは一覧の先頭に表示されます。グループを作らなければ、一覧の見た目も動作も従来とまったく同じです。
設定 → ホスト一覧の並び順で一覧の並べ方を選べます。
最初の 3 つではグループはアルファベット順のままなので、セクションの見出しは動かず、その中のホストだけが並び替わります。手動ではグループも動かせます。
並べ替えるには手動を選び、ホストまたはグループ見出しのメニュー(⋮ ボタン・iOSの … ボタン、長押し、Android TVのリモコンならメニューキー)を開いて上へ移動 / 下へ移動を使います。ホストは自分のセクション内でのみ動きます。別のグループに入れるには、ホストの編集画面でグループを変更してください。手動に切り替えたときはその時点で画面に出ていた順序がそのまま保たれるので並びが飛ぶことはなく、あとから追加したホストはセクションの末尾に入ります。
SFTPファイルマネージャーを使うと、スマートフォンからサーバー上のファイルを直接参照、アップロード、ダウンロード、リネーム、削除できます。ホスト画面で、ホストのメニューにあるファイルから開きます。
フォルダをタップして開きます。戻る矢印またはパスバーの任意のセグメントをタップしてディレクトリツリーを上に移動します。
シンボリックリンクは小さなリンクアイコンバッジで表示されます。シンボリックリンクをタップするとターゲットに移動します。ディレクトリを指す場合は中に入り、ファイルを指す場合は通常のファイルと同様に動作します。
アップロードボタン(↑)をタップして、スマートフォンのストレージから1つ以上のファイルを選択します。アップロードはすぐに開始され、進行状況が画面上部に表示されます。
ファイルをタップするとすぐにダウンロードされます。フォルダ全体をダウンロードするには、その横にある ダウンロードアイコンをタップします。SSHBorgはディレクトリツリー全体をダウンロードし、スマートフォンの Downloads フォルダに保存します。
保存先に同名ファイルが既に存在する場合、ダイアログで 上書き、ファイルの スキップ、または転送全体の キャンセル を選択できます。
任意の項目を長押しして選択モードに入り、追加の項目をタップして選択を増やします。ツールバーに現在の選択に対する操作が表示されます:
鍵ベースの認証はパスワードよりも安全で、設定後は何も覚えたり入力したりする必要がありません。
ホスト画面上部の鍵アイコンをタップして SSH 鍵 を開き、新しい鍵を生成します。SSHBorgは以下をサポートします:
後で識別しやすいよう、意味のある名前(例:my-vps や work-server)を付けてください。
鍵を生成したら、タップして 公開鍵 を表示します。コピーして、ログインしたいユーザーのサーバー上の ~/.ssh/authorized_keys ファイルに貼り付けます。
mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo "ssh-ed25519 AAAA...コピーした鍵..." >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
/etc/ssh/sshd_config に PubkeyAuthentication yes があることを確認してください。ほとんどのディストリビューションではデフォルトで有効ですが、一部のセキュア強化イメージでは無効になっている場合があります。
設定 → セキュリティ → 機密データを暗号化 をオンにすると、秘密鍵と保存したホストのパスワードが、端末のセキュアなハードウェアに保管された鍵(AndroidではAndroid Keystore、iOSではキーチェーン)で暗号化されて保存されます。有効にするまではオフのままです。初回起動時のセキュリティのヒントでも案内されます。
暗号化されたデータは端末とこのアプリのインストールに結び付いています。アンインストールすると保存した鍵は復元できず、新しい鍵を生成してサーバーに登録し直す必要があります。機密性の高いサーバー認証情報をスマートフォンに保存する場合は、アプリのロックと併せて強くお勧めします。
パスフレーズで保護された鍵をインポートする場合、パスフレーズで解除するのはインポート時の一度だけです。
端末で入力中、SSHBorgはキーボードの上に候補バーを表示します。候補は接続したユーザーのシェル履歴から取得されます。
端末セッションが開かれると、SSHBorgはリモートサーバーからシェル履歴ファイルを読み込みます。以下の場所を順に試みます:
~/.bash_history — Bashシェルのデフォルト~/.zsh_history — Zshのデフォルト($HISTFILEが設定されている場合も確認)~/.local/share/fish/fish_history — Fishシェルユーザー向け存在して読み取り可能な最初のファイルが使用されます。入力するとコマンドがリアルタイムでフィルタリングされ、候補バーにチップとして表示されます。チップをタップするとコマンドが挿入されます。
候補が表示されない
~/.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 としてログインするよう設定した別のホストエントリーを追加してください(サーバーが許可している場合)。
端末はタイピング以外にも、いくつかのタッチジェスチャーに対応しています:
全画面アプリ。 tmux、vim、nano、less のように画面全体を占有するプログラムは独自のスクロールバックを持たないため、実行中は表示が現在の画面に固定され、その下にあるシェルの出力へずれ込むことはありません。
その中でスクロールするには、アプリ側が対応している必要があります。tmux では ~/.tmux.conf に set -g mouse on を追加すると、スワイプで指の下にあるペインの履歴をたどれます。set mouse=a を設定した vim など、マウス入力を受け付けるプログラムでも同様です。screen の場合は ~/.screenrc に altscreen on があるか確認してください。多くのシステムでは既定で無効になっており、その場合 screen は通常のスクロールバックの上に描画します。
設定 → ターミナルで、ターミナルを好みに合わせて調整できます:
ソフトウェアキーボードが開いているとき、その上にショートカットボタンの列が表示されます。バーを横にスクロールすると、すべてのキーにアクセスできます。
Ctrl と Alt はスティッキートグルです。一方をタップしてから文字キーをタップすることで、組み合わせを送信できます。次のキー入力後に自動的にリセットされます。
スペルチェックアイコンで、キーボードをターミナルモードとワードモードの間で切り替えられます。ターミナルモード(デフォルト)では自動修正と単語候補が無効になっており、コマンドやファイルパスの入力に最適です。ワードモードでは候補と自動修正が有効になり、通常のテキストフィールドと同様に動作します。SSH越しに自然言語を入力する際(Claude Code や他のインタラクティブツールの使用時など)に便利です。
Androidでは、ワードモードは音声入力にも必要です。キーボードのマイクキーは書き込み先となる実際のテキスト入力欄を必要とするため、ターミナルモードでは音声入力しても何も入力されません。音声入力の前にワードモードに切り替えてください。
バーを右にスクロールすると、F1 から F12 のファンクションキーにアクセスできます。
バーには複数のレイアウトがあります。バー上の ⇄ キーをタップすると切り替えられます。キーの代わりに利用できるバーの一覧が表示されるので、ひとつタップすれば完了です。選択は記憶されます。設定 → ターミナル → 拡張キーバー → カスタマイズからもバーを選択・管理できます。
/ - | ~ を含み、矢印はキーボード順(← ↑ ↓ →)。ESC / - Home ↑ End PgUp の下に Tab Ctrl Alt ← ↓ → PgDn。自分のバーを作るには、プリセットを複製する(横の ⋮ メニュー、iOSでは長押し)か、新しいバーを作成します。エディターにはバーが実際の見た目そのままに表示されます。キーをタップして選択し、下のボタンで左右や別の段へ移動、変更、後ろにキーを追加、削除ができます。各段はスクロール(キーは自然な幅を保つ)か、画面幅いっぱいに広げる(スマートフォンで 1 段あたり約 9 キーまで)かを選べます。最大 3 段、キーの大きさも調整できます。
通常のキーに加えて、カスタムバーにはテキストキーを置けます。任意のテキストをそのまま送信します。単独の |、sudo の接頭辞、コマンド全体など。\n は Enter、\t は Tab、\e は Esc を表すので、ls -la\n がワンタップのマクロになります。操作キーがさらに 2 つあります。固定はキーボードを閉じてもバーを表示したままにし、キーボードはキーボードの表示/非表示を切り替えます。
カスタムバーは設定のバックアップに含まれます。Android TV ではすべてリモコンで操作できます。エディターのキーやボタンはすべて D-pad で到達できます。
SSHエージェント転送を使うと、SSHBorgに保存された鍵を、リモートサーバー内部から行われるさらなる接続の認証に使用できます。例えば、プライベートリポジトリの git clone や、2台目のサーバーへのホップなどです。
ホストを追加または編集する際に、エージェント転送トグルを有効にします。SSHBorgはそのセッションのSSHエージェントとして機能します。
サーバーはエージェント転送を許可している必要があります。/etc/ssh/sshd_config を確認:
AllowAgentForwarding yes
ほとんどのシステムではデフォルトです。変更後はSSHデーモンを再起動:
sudo systemctl restart sshd
ラップトップやデスクトップからもこのサーバーに接続する場合、ローカルの ~/.ssh/config で永続的に転送を設定できます:
Host myserver
HostName 203.0.113.42
User ubuntu
ForwardAgent yes
一部の旧式サーバー——ネットワーク機器、組み込みデバイス、または古い OpenSSH バージョンを実行するシステム——は、現代の SSH クライアントがデフォルトでは提示しなくなった暗号アルゴリズムのみをサポートしています。
ホスト設定でレガシー暗号を許可トグルを有効にすると、SSHBorg は以下のアルゴリズムをネゴシエーションリストに追加します:
aes128-cbc、aes192-cbc、aes256-cbc、3des-cbcdiffie-hellman-group14-sha1、diffie-hellman-group-exchange-sha1、diffie-hellman-group1-sha1ssh-dss(DSA 1024-bit)サーバーは常に双方がサポートする最強のアルゴリズムをネゴシエートするため、このオプションを有効にしても現代のサーバーへの接続のセキュリティは低下しません。
ssh-dss ホスト鍵は使えません。アプリが使用しているSSHライブラリにDSAが含まれていないため、DSAのホスト鍵しか持たないサーバーには、このオプションをオンにしてもiPhoneやiPadから接続できません。
SSHはスマートフォンとサーバー間のリアルタイムTCP接続です。接続が中断されると、たとえ一瞬でも、セッションとその中で実行されているすべてが失われます。
モバイルネットワークは特に接続が切れやすく、理由は以下の通りです:
ターミナルマルチプレクサーはサーバー上で永続的なセッションを実行し、SSH接続から完全に独立しています。接続が切れても、セッションとその中で実行されているすべてが継続されます。再接続したとき、セッションに再アタッチすると、すべてがそのままになっています。
これはスマートフォンからサーバーを管理する上で最も有用な習慣です。
tmuxはほとんどの最新Linuxディストリビューションで利用可能で、推奨の選択肢です。
# 新しい名前付きセッションを開始
tmux new -s work
# セッションからデタッチ(実行を継続)
Ctrl+B、その後 D
# 実行中のセッションを一覧表示
tmux ls
# セッションに再アタッチ
tmux attach -t work
# 最新のセッションに再アタッチ
tmux attach
screenは古いですが、tmuxがインストールされていない可能性がある最小サーバーイメージを含む、ほぼすべてのUnixシステムで利用できます。
# 新しい名前付きセッションを開始
screen -S work
# セッションからデタッチ
Ctrl+A、その後 D
# 実行中のセッションを一覧表示
screen -ls
# セッションに再アタッチ
screen -r work
tmux attach || tmux new -s main~/.bashrc または ~/.zshrc に tmux attach || tmux new -s main を追加すると、SSHBorgでログインするたびにマルチプレクサーセッションが自動的に開始されます。
踏み台ホスト(踏み台サーバーとも呼ばれます)は、インターネットから直接アクセスできないターゲットサーバーに到達するために経由する中間サーバーです。SSHBorgはシングルおよびマルチホップチェーンをネイティブにサポートしています。
複数の中間サーバーを経由する必要がある場合(例:インターネット → 踏み台 → DMZ → ターゲット)、各ホップのエントリーを作成してチェーンします:
デスクトップの ~/.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 は透過的に踏み台を経由します。
SSHBorgでは、異なるサーバーへのものも含め、複数のSSH端末セッションとSFTPファイルマネージャーセッションを同時に開いておくことができます。
tmux または screen を使用してください。
設定 → セキュリティ → アプリのロック で保護方法を選べます:なし(既定)、生体認証のみ(指紋または顔認証)、デバイスのロック(生体認証に加え、端末のPIN・パターン・パスワード)、またはアプリ内の PIN・パスフレーズ。ロックが有効な場合、SSHBorgはホスト、認証情報、セッションデータを表示する前に認証を要求します。
アプリ内の PIN・パスフレーズ は、生体認証ハードウェアやシステムの画面ロックがなくても、どの端末でも使えます。そのためAndroid TVでは最適な選択です。変更や解除の際は、まず現在のものを尋ねられます。忘れると復元できません。アプリのデータを消去するか再インストールが必要になるため、ホストのバックアップを保管してください。
非アクティブタイムアウトを設定できます。バックグラウンドでその時間が経過すると、アプリは自動的にロックされます。
SSHBorgはデフォルトでスクリーンショットと画面録画をブロックし、機密性の高い端末内容が最近使ったアプリの画面やスクリーンキャプチャツールから漏れないようにします。
スクリーンショットが必要な場合(例:端末出力の共有)は、設定 → セキュリティ → スクリーンショットを許可 で一時的に無効にできます。
機密データを暗号化 をオンにすると(SSH鍵を参照)、パスワードと秘密鍵は、Android Keystore(Android 10+ではハードウェアで保護)またはiOSの キーチェーン に保管された、この端末に限定された鍵で暗号化して保存されます。認証情報が外部ストレージに書き込まれたり、どこかへ送信されたりすることは一切ありません。
SSHBorgはホストの設定とアプリの設定をJSONファイルとしてエクスポート・インポートできます。これにより、サーバーリストを別のデバイスに移したり、設定のポータブルなバックアップを保管したりできます。
設定 → バックアップ → バックアップをエクスポート に移動します。システムのファイル選択ツールを使って保存先を選択します。ファイル名はデフォルトで sshborg_backup.json(iOSでは sshborg-backup-日付.json) です。
設定 → バックアップ → バックアップをインポート に移動します。以前エクスポートした(または手動で作成した).json ファイルを選択します。SSHBorgは既存のホストリストと統合します:
keyLabel と名前が一致する鍵があればそれにリンクされます。なければこのフィールドは無視されます。エクスポートファイルは通常のJSONオブジェクトです。手動で作成して、別のソースからサーバーリストを一括インポートすることもできます。
{
"version": 7,
"exported_at": "2026-05-14T10:00:00Z",
"groups": [
{ "name": "本番", "color": -1754827, "position": 0 }
],
"hosts": [
{
"label": "マイVPS",
"hostname": "203.0.113.42",
"port": 22,
"username": "ubuntu",
"agentForwarding": false,
"jumpMode": "simple",
"jumpHosts": null,
"jumpHostIdList": null,
"portForwardings": null,
"sftpStartMode": "last",
"sftpStartDir": null,
"sftpShowHidden": false,
"allowLegacyCiphers": false,
"position": 0,
"lastConnected": 1757404800000,
"connectCount": 12,
"keyLabel": "私の VPS 鍵",
"group": "本番"
}
],
"settings": {
"night_mode": 0,
"scrollback_lines": 2000,
"terminal_font_size": 13,
"terminal_color_scheme": 0,
"double_tap_action": 0
}
}
任意の settings オブジェクトはアプリの設定を保持し、エクスポート時に自動的に書き込まれます。手動でファイルを作成する場合は省略できます。
label — SSHBorgに表示される名前。インポート時の統合に使われる一意のキー。必須。hostname — サーバーのアドレスまたはIP(IPv4またはIPv6)。必須。port — SSHポート。デフォルト:22。username — ログインユーザー名。必須。agentForwarding — true でSSHエージェント転送を有効化。デフォルト:false。jumpMode — "simple"(jumpHostsのテキストを使用)または "host_list"(SSHBorgの内部ホストIDを使用)。手動作成時は "simple" を使用してください。jumpHosts — [ユーザー@]ホスト[:ポート] 形式のカンマ区切りの踏み台ホスト。jumpMode が "simple" のときのみ使用。portForwardings — SSH -L 構文による改行区切りのローカルポート転送ルール(例:"8080:localhost:8080")。sftpStartMode — SFTPの開始ディレクトリ:"last"(最後に訪問したディレクトリを記憶)、"fixed"(常に sftpStartDir を使用)、"home"(サーバーのホームディレクトリ)。デフォルト:"last"。sftpStartDir — sftpStartMode が "fixed" のときに使用するパス。sftpShowHidden — true でこのホストの SFTP ブラウザに隠しファイル(ドットファイル、"." で始まる名前)を表示します。既定は false。allowLegacyCiphers — true にすると、前述のレガシー暗号アルゴリズムが有効になります。既定は false です。keyLabel — このホストが使用するSSH鍵の名前。インポート時に同じ名前の鍵があればホストにリンクされ、なければ無視されます。鍵そのものはバックアップに含まれません。group — ホストが属するグループ名。グループはトップレベルの groups 配列に name と color(符号付き 32 ビット整数の ARGB)で記載します。配列にないグループをホストが参照している場合は既定の色で自動作成されるため、手書きの場合は配列を丸ごと省略してもかまいません。color — ホストごとの任意の色(符号付き 32 ビット整数の ARGB)。グループの色より優先されます。position — 手動の並び順でのホストの位置。所属するセクション(グループなしのブロック、または 1 つのグループ)の中で数えます。省略するとホストは末尾に追加されます。グループも groups 配列内に独自の position を持ちます。lastConnected — 最後に接続した時刻。Unix エポックからのミリ秒です。「最近使った順」に使われます。connectCount — このホストに対して開いたターミナルセッションの数。「よく使う順」に使われます。label、hostname、username 以外のフィールドはすべて省略可能です。省略されたフィールドはデフォルト値が使用されます。
SSHBorg は Android TV と Google TV で動作します。リモコンの十字キーで操作できますが、テキスト中心のアプリのため、物理キーボードがあると大きく変わります。
行の名前変更・削除・編集・複製・ダウンロードを行うにはメニューを開きます。フォーカスした行でリモコンの メニュー(オプション)キー を押すか、OK を長押しします。OK 単体では主要な操作が実行され、メニューは開きません。
物理キーボード(USB または Bluetooth、Android TV は両方に対応)を強くおすすめします。ターミナルには事実上必須です。キーボードがあれば入力欄やシェルは通常どおり動作します。
ない場合でも、画面キーボードで短い入力は可能です。入力欄にフォーカスし、OK で開いて入力し、キーボードの OK / 実行 で確定します——パスワード入力では直接接続します。ただし画面キーボードでシェルコマンドを入力するのは現実的ではありません。
TV には通常、指紋認証や画面ロックがないため、内蔵の PIN またはパスフレーズ ロックでアプリを保護してください(設定 → セキュリティ)。リモコンやキーボードだけで完結します。アプリのセキュリティ を参照。