GateOne を用いて Web ブラウザから ssh リモート接続ができるようにする(Ubuntu 上)
GateOneは開発が停止しており、Ubuntu 24.04 LTSでの安定性やセキュリティに懸念があるため実運用には非推奨である。現代的なWeb SSH代替技術としてApache Guacamoleやttydなどが利用可能である。Webブラウザから特別な設定なしにSSHリモート接続を実現する仕組みを理解する参考になる。
前準備
Ubuntu のシステム更新
Ubuntu で OS のシステム更新を行うときは, 次のコマンドを実行する。これらのコマンドはUbuntu 24.04 LTSで有効である。
# パッケージリストの情報を更新
sudo apt update
# インストール済みのパッケージを包括的に更新 (依存関係も考慮)
sudo apt full-upgrade
# 変更をシステム全体に確実に反映させるために再起動
sudo shutdown -r now
Git のインストール
次のコマンドを実行する。このコマンドはUbuntu 24.04 LTSで有効である。
補足: -y
オプションは確認プロンプトに自動で「はい」と応答する。インストールされるパッケージを事前に確認しないリスクがあるため、注意が必要である。
# パッケージリストの情報を更新
sudo apt update
sudo apt -y install git
GateOne のインストールと起動
ここでの設定:使用するポート番号 8443
GateOne のインストール
次のコマンドを実行する。システムPythonを汚染しないよう仮想環境を使用するが、GateOneプロジェクトが古いため、Ubuntu 24.04 LTS環境での依存関係の解決やビルドが正常に行われるかは不明である。
注意: GateOneは古いプロジェクトであり、ソースからのインストールは、Ubuntu 24.04 LTSのような新しい環境では、仮想環境を使用しても依存関係やビルドの問題により失敗する可能性が高い。
cd /tmp
git clone https://github.com/liftoff/GateOne
cd GateOne
python3 -m venv .venv
source .venv/bin/activate
python setup.py build
python setup.py install
ufw で GateOne ポートの解除
次のコマンドを実行する。ufwはUbuntu 24.04 LTSで利用可能なファイアウォールツールであり、このコマンドで指定ポートへのアクセスを許可する設定を行う。
sudo ufw allow 8443
GateOne の起動
次のコマンドを実行する。仮想環境を使用している場合、source .venv/bin/activate
を実行してから以下のコマンドを実行する必要がある。
sudo gateone --port=8443
重要: Web経由でSSHを提供する性質上、通信の暗号化(SSL/TLS)や厳密な認証・アクセス制御といったセキュリティ対策は必須である。Web固有の脆弱性にも注意し、使用するライブラリのセキュリティパッチを適用することが重要である。
Web ブラウザから使ってみる
GateOneが正常に起動したら、Web ブラウザで,次のURLを指定する。
https://
この方法により、SSHクライアントがインストールされていない環境からでも、Ubuntu 24.04 LTSサーバーにWebブラウザ経由でアクセスできるようになる。