SSHが使えないレンタルサーバにLinuxコマンドを入力する方法
SSHが使えないレンタルサーバにLinuxコマンドを入力する方法を紹介します。
1.はじめに
レンタルサーバでは、SSH(TeraTermなどでターミナルを起動してLinuxのコマンドを投入できる環境)が通常用意されているのですが、格安プランはオプションを絞ることで安く提供するため、機能的に優先度の低いSSHが使えないケースが少なくありません。
そういうプランのサーバでも、Linuxコマンドを投入して作業したいことがあるのですが、そのための解決方法です。
ウェブ制作に携わっている方であればより最適な方法で実践されている気がしますが、お手軽な方法ということでエントリーしてみました。
2.SSHが使えないレンタルサーバでコマンドを入力する
SSHが使えないレンタルサーバでコマンドを入力するには、以下の手順が考えられます。
- Linuxコマンドを実行するCGIファイルを作る
- CGIファイルをサーバにアップロードする
- ブラウザからCGIにアクセスする
- CGIにコマンドを入力する
ということで、Linuxコマンド入力用CGIを作り、コマンドを実行するまでの手順を紹介します。
ここで紹介するサンプルではcdコマンドなどは使えませんが、FTPだけでは行えない作業を実行することができると思います。
3.注意事項
本エントリーではセキュリティなどに言及していませんが、可能であればCGIを実行するディレクトにベーシック認証などをあらかじめ設定してください。
また、CGIにrmコマンドなどを誤って投入しないよう、十分気をつけてください。
利用したCGIファイルは作業終了後、速やかに削除してください。
4.コマンドを実行するCGIファイルを作る
まず、次の内容を任意のCGIファイル名(xxxxx.cgi)で保存します(ここでは「test.cgi」というファイル名で説明を進めますがセキュリティ上、別の名前にしてください)。
ファイル名にあわせて、プログラム中のform要素のaction属性値(赤色部分)に同じファイル名を設定してください。
このプログラムは、フォームに入力した内容をLinuxサーバ上でコマンドとして実行するものです。CGIはPHPやPerlなどで作っても構いませんがここではbashで書きました。
#!/bin/sh
value=`echo "${QUERY_STRING}" | sed -e "s/.*=\(.*\)/\1/"`
test=`echo "${value}" | tr '+' ' ' | tr '%' '=' | nkf -WwmQ`
cat <<EOF1
Content-Type: text/html
<html><head><title>test</title></head>
<body>
<form method="get" action="./test.cgi">
<input type="text" name="command" value="${test}" />
<input type="submit" value="Go" />
</form>
EOF1
echo "<pre>"
${test}
echo "</pre>"
cat <<EOF2
</body>
</html>
EOF2
この内容をそのままコピーするときは、空行の半角スペースを必ず削除してください。
また、改行コードはLFで保存してください。
ファイルの詳細は「bashでCGIを実行する」を参照してください。
5.CGIファイルをサーバにアップロードする
このファイルを利用したいレンタルサーバにアップロードします。
アップロード後、パーミッションを「705」や「755」など、実行権をつけてください。
6.ブラウザからCGIにアクセス
ブラウザからこのCGIにアクセスすると次のような画面が表示されます。
7.CGIにコマンドを入力する
フォームに「ls -l」と入力して「Go」をクリックすれば、実行結果が表示されます。
- さくらインターネットのメーリングリストで警告が表示される・届かない場合の対処
- さくらインターネットのサーバで無料SSLを設定する方法
- ロリポップにムームードメインで取得した独自ドメインを設定する方法
- さくらインターネット+FFFTPでファイル転送に失敗する場合の対処
- さくらインターネットでディレクトリ一覧を非表示にする方法
- VALUE-DOMAINのドメインをさくらインターネットに移管する方法
- さくらインターネットのレンタルサーバ仮登録時のアクセス数制限について
- さくらインターネットのプラン変更+独自ドメインによるサーバ移転
- さくらのマネージドサーバ Core 2 Duo ブロガーレビュー
- ロリポップにcron機能追加
- XREA に Movable Type をインストールする(自動広告挿入対処まとめ)