2009年02月20日

LS-HGL(LS-H500GL) にtelnet、及びsshでアクセスできるようにする

LS-HGLはlinuxで動作しているので、シェルさえ使えれば基本なんでもできるようになる。
当然ながらbuffaloからシェルは公開されない。しかしすごい人はいるもので、外部から
刺激を与えて無理矢理telnetできるようにするツールが公開されている。
(これって超セキュリティホールだよね?)
以下telnetできるようにするための手順を示す。
ちなみにネットワークにさえ繋がっていればよく、本体分解の必要はない。

◆用意するもの
・javaの動く環境(うちではWindowsXPを利用)
 javaはどのバージョンでもいいと思うのでインストールしておく。
 http://www.java.com/ja/

・acp_commander.jar
 ルートのパスワードをクリアするツール
 http://downloads.buffalo.nas-central.org/TOOLS/ALL_LS_KB_ARM9/ACP_COMMANDER/
 ダウンロードして適当なディレクトリに配置


◆手順
1.コマンドプロンプト起動し、acp_commander.jarを置いているフォルダへ移動

2.acp_commander.jar実行
> java -jar acp_commander.jar -t 192.168.12.150 -o

192.168.12.150はLS-HGLのIPアドレスね。

以上で完了。
なお、-oはルートパスワードクリアとtelnetを可能にするオプション。

※2012/01/12 追記
当方が実施したときのLS-HGLのファームウェアは1.06でした。
最新ファームウェアではacp_commander.jar の引数を変える必要があるようです。
いただいたコメントを参照してみてください。


◆telnet接続確認
> telnet 192.168.12.150

 
パスワード無しでいきなりrootでログインした状態となる。うぉ・・・

以上でtelnet準備完了。

■■最低限、最初にやっておきたいこと■■

・rootパスワード設定
・telnetdとsshdの自動起動の設定
・suコマンドの設置
・作業用ユーザの作成

◆rootパスワード設定
# passwd


◆telnetdとsshdの自動起動の設定
# vi /etc/rc.d/init.d/rcS


rcSの終わりのほうにtelnetd とsshd 起動コマンド記述

rcS抜粋
 # exec_sh bootcomplete.sh
 # exec_sh hdd_late_check.sh
 # exec_sh check_initialization.sh

 /usr/sbin/telnetd ← 追記
 /usr/local/sbin/sshd ← 追記


◆suコマンドの設置
suコマンドは含まれてないので、自分でコンパイルするか拾ってくる必要がある。
自分は以下のサイトから頂きました。感謝。
http://home1.catvmics.ne.jp/~kanemoto/linux/ls-gl.html
下のほうにsuコマンドあります。

ファイルは /bin/に配置。
あと忘れずにスティッキービットを設定。
# chmod u+s /bin/su

パーミッションはこんな感じ。
-rwsr--r-x su

◆作業用ユーザの作成
#useradd foo

なんか警告がいっぱいでるけどOK。

ホームディレクトリ作成。
#mkdir /home/foo


パスワード設定。
#passwd foo


■■sshd関連の設定■■

◆/etc/sshd.conf の編集
 PasswordAuthentication no  ← キーファイル認証とする
 PermitRootLogin no     ← rootのsshログイン不可

◆sshキーの作成
ユーザfooにて
sshキーフォルダ作成とキー作成
 $ mkdir ~/.ssh
 $ cd ~/.ssh
 $ ssh-keygen -t rsa -C "SSH2 RSA key"

~/.ssh/に以下の2ファイルが作成される。
id_rsa    秘密鍵
id_rsa.pub  公開鍵

公開鍵のリネーム
$ mv id_rsa.pub  authorized_keys


id_rsaはクライアント側PCへコピー後、本フォルダから削除。

あと通常、ssh関連ファイルはパーミッションをきちんと設定しておく必要があるが、このlinuxはデフォでOKみたい。
デフォの状態でパーミッションは以下。(通常はフォルダ、キーとも700)
 drwxr-xr-x    ./             ← .ssh/
 -rwxr--r-- authorized_keys*

以上でsshd設定完了。

◆再起動
とりあえず、最低限必要な環境で立ち上がってくるか再起動して確認。
# shutdown -r now


◆ssh接続確認
再起動後、teraterm等でssh接続できればOK。
PuTTYで接続する場合はPuTTY付属のPuTTYgen.exeにて変換が必要。


以上で全て完了。


◆参考 クライアント側でsshキーを作成する場合
クライアント側でキー生成する場合は、PuTTYgen.exeにて作成。
puttyで生成した公開鍵をサーバ上で以下のコマンドで変換。
$ ssh-keygen -i -f id_rsa.pub >> authorized_keys


これでPuTTYとteratermから接続できるはず。

コールドスタンバイバックアップについてはこちら


タグ:LS-HGL Linux
posted by frogie at 22:01 | Comment(4) | LS-HGL | このブログの読者になる | 更新情報をチェックする
この記事へのコメント

ありがとうございます。参考にさせて頂きました。
ただ、最新FWではうまく動作しないようでした。。。

調べたところ、以下URLにある(4)の4つのコマンドを実行することで、
最新FWでもsshで接続できるようです。

http://forum.buffalo.nas-central.org/viewtopic.php?f=68&t=24767

ご参考まで。
Posted by かなりの初心者 at 2012年01月12日 03:02
大変貴重な情報ありがとうございます。
またお役に立ててよかったです(^^)
当方が実施した時のLS-HGLのファームウェアは、1.06でした。
その旨、本文に追記しました。
最新は1.07βみたいですね。
Posted by frogie at 2012年01月12日 23:14
昨日、LS-H320GLをLS-H500GLにディスク換装してファーム1.07βを導入しました。 acp_commander.jarは問題なく使えましたよ・・・ ^^
Posted by kob at 2013年10月03日 09:28
あらま、そうなんですね。
もう手元に物がないので検証もできないのですが、とりあえず最初はacp_commander.jarを試してみて、もしダメだったら「かなりの初心者」さんのコメントのリンク先を試してみるのがよさそうですね。
Posted by frogie at 2013年10月04日 08:08
   
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。