ウェブサイト検索

「Wetty (Web + tty)」ツールを使用してWebブラウザからLinuxサーバーターミナルにアクセスする方法


システム管理者は、おそらく、Linux デスクトップを使用している場合はGNOME ターミナル (など) などのプログラムを使用して、リモート サーバーに接続するでしょう。または、Putty などの SSH クライアントを使用している場合は、 Windows マシンで、Web の閲覧や電子メールのチェックなどの他のタスクを実行します。

Web ブラウザから直接リモート Linux サーバーにアクセスする方法があれば素晴らしいと思いませんか?幸いなことに、Wetty (Web + tty) と呼ばれるツールがあり、切り替えることなくそれを行うことができます。プログラムやすべてを同じ Web ブラウザ ウィンドウから実行できます。

Linux への Wetty のインストール

Wetty は、 開発者のGitHub リポジトリから入手できます。そのため、ディストリビューションに関係なく、リポジトリをローカルに複製してプログラムをインストールする前に、最初に手動でインストールする必要がある依存関係を使用しています。

CentOSRocky LinuxAlmaLinux などの RHEL ベースのディストリビューションでは、NodeJS をインストールする必要があります。 EPEL リポジトリは次のようになります。


yum groupinstall 'Development Tools'
curl -fsSL https://rpm.nodesource.com/setup_17.x | bash -
yum update 
yum install epel-release git nodejs npm

Debian とその派生製品では、ディストリビューションのリポジトリから入手できる NodeJS のバージョンは、Wetty のインストールに必要な最小バージョンよりも古いため、 >NodeJS GitHub 開発者リポジトリ:


apt install curl build-essential
curl -fsSL https://deb.nodesource.com/setup_17.x | sudo -E bash -
apt update && apt install -y git nodejs npm

これらの依存関係をインストールした後、GitHub リポジトリのクローンを作成します。

git clone https://github.com/krishnasrinivas/wetty

上のメッセージに示されているように、作業ディレクトリをwettyに変更します。

cd wetty

次に、次のコマンドを実行して Wetty をインストールします。

npm install

インストールプロセス中にエラーメッセージが表示された場合は、続行する前にエラーメッセージに対処してください。私の場合、Debian でのNodeJS の新しいバージョンの必要性は、npm install を正常に実行する前に解決する必要がある問題でした。

Wettyを起動してWebブラウザからLinuxターミナルにアクセスする

この時点で、実行することで Wetty のローカル ポート 8080 で Web インターフェイスを開始できます (現在の作業ディレクトリが /wetty であると想定しています)。 :

node app.js -p 8080

以下の画像からわかるように、

ただし、この接続は安全ではなく、資格情報が保護されずにネットワークを通過することを望まないため、ユーザー名とパスワードは入力しないでください。

そのため、Wetty は常にHTTPS 経由で実行する必要があります。リモート サーバーへの接続を保護するための自己署名証明書を作成しましょう。

openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes

そして、それを使用してHTTPS 経由でWetty を起動します。

Wetty を実行するカスタム HTTPS ポートを開く必要があることに注意してください。

firewall-cmd --add-service=https # Run Wetty in the standard HTTPS port (443)
firewall-cmd --permanent --add-service=https
firewall-cmd --add-port=XXXX/tcp # Run Wetty on TCP port XXXX
nohup node app.js --sslkey key.pem --sslcert cert.pem -p 8080 &

上記のシーケンスの最後のコマンドは、バックグラウンドでポート 8080 をリッスンする Wetty を開始します。自己署名証明書を使用しているため、ブラウザーにセキュリティ警告が表示されることが予想されます。これを無視してセキュリティ例外を追加しても、完全に安全です。永続的または現在のセッション中です。

セキュリティ例外を確認すると、Wetty を使用して VPS にログインできるようになります。言うまでもなく、次の画面キャストからわかるように、実際の端末または仮想端末の前に座っているかのように、すべてのコマンドとプログラムを実行できます。