2011年5月6日金曜日

備忘録

QNAPオリジナルの sshd では admin 以外のアカウントでのログインが拒否されるため OpenSSH をインストールしたくなる。そこで qnap install openssh で検索すると結構たくさんの情報がみつかるのだが、ちょっと面倒そうだったり、若干中途半端に見えたりしてすっきりしなかった。
そのうちついでに Gitもからめながら調べていたらに辿り着いた。
それで QNAP オリジナルの sshd を残したまま OpenSSHも使えるようにする方法が簡単で、また安全そうに見えたのでこの方法を採用することにした。
まず最初にオリジナルの sshd が使うポート番号を変更し、sshdを再起動した上で新しいポート番号によって正しく接続されることを確認する。
次に OpenSSHのパッケージをインストールする。
> ipkg install openssh
インストール自体は正常に終了したように見えたが、起動する際に下記のメッセージが出力された。
Could not load host key: /opt/etc/openssh/ssh_host_ecdsa_key
なので /opt/bin/ssh-keygen を使ってecdsa key を生成して /opt/etc/openssh/ に格納した。
さらに /opt/etc/openssh/sshd_conf の内容を確認し、幾つか必要な変更を反映させた。
この段階で OpenSSH の sshdを再起動し、標準のポート番号 22を使って接続されることは確認されたのだが、ログイン時に home directory が存在しないとのメッセージが出た。
で /etc/passwd の記述を確認すると adminを始めとする各ユーザのホームディレクトリは /share/homes/ に存在することになっているが、/share/homes を見ると確かにそのようなディレクトリは存在しない。
そこでどこに作成するか迷ったが /mnt/HDA_ROOT/homes/ を作成し、この下に各ユーザのディレクトリを作成して、
/share/homes を /mnt/HDA_ROOT/homes へのリンクとして設定して試したところ、とりあえずこの問題は解消された。
最後に再起動時にこの opensshが自動的に起動されるように設定する。
この方法についてはの記述を参考にした。
まず
> mount /dev/mtdblock5 /tmp/config
として、この /tmp/config/ に autorun.sh を作成して起動時のスクリプトを記述する。
(もし autorun.shが既に存在すればそのファイルに追記すること)
今回は opensshの起動だけなので以下の2行を記述する。
#!/bin/sh
/opt/etc/init.d/S40sshd start
さらに /mnt/HDA_ROOT/homes/ へのリンクを /share/の下に設定するための記述も追加して
再起動してから admin や他のアカウントで正しく接続されることを確認した。
これで sftpやら rsync やらいろいろ使いやすくなる、筈。
そうだせっかくだから Gitosisもインストールしよう。
 

Blogger news

Pageviews past week

Blogroll

About