Topレンタルサーバ > 2014年4月
2014年4月16日

SSHが使えないレンタルサーバにLinuxコマンドを入力する方法

April 16,2014 1:55 AM
Tag:[, ]
Permalink

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にアクセスすると次のような画面が表示されます。

ブラウザからCGIにアクセス

7.CGIにコマンドを入力する

フォームに「ls -l」と入力して「Go」をクリックすれば、実行結果が表示されます。

CGIにコマンドを入力

Comments [0] | Trackbacks [0]
Now loading...
ギターに入った猫
掲載広告募集
Styles
Font Size
Default
For defective color vision
Gray Scale
RGB Color
Search this site

このブログをメールで購読する by:FeedBurner

AMN
Categories
Monthly Archives
2019年
2018年
2017年
2016年
2015年
2014年
2013年
2012年
2011年
2010年
2009年
2008年
2007年
2006年
2005年
2004年
2003年
BlogPeople
Syndicate this site
FeedBurner(RSS1.0/RSS2.0/Atom)
Counter
これまでのアクセス
Powered by
Movable Type 6.0.3