Hatena::ブログ(Diary)

四角革命前夜

2013年04月24日(水)

MontaVista Linuxに戻したよ

捨てようと思っていた玄箱/HGを、DebianUbuntuでなく標準のMontaVistaのまま使い続けることにしました。

メンテ面倒なんだけど、ただのNASとして使えばまあ良いかと。Apache動かして外部に公開とかもしないし。


ここですることは、

  • 付属CDのbinaryディレクトリにあるバイナリ類のインストール
  • ネットワーク関連の設定
  • 余計なプロセスの停止
  • sshの起動
  • telnet, ftpの停止
  • ntpdateで時刻合わせ
  • rsyncでミラーリング

です。


付属CDのbinaryディレクトリにあるバイナリ類のインストール

# for file in *.tar.gz; do tar xvfz $file -C; done

これをしないとgccとか入らないのでいろいろ困ります。

ftpするなら

$ ftp
> open xxx.xxx.xxx.xxx
> binary
> prompt
> cd /mnt/share
> mput *.tar.gz

とかすると良いかも。


ネットワーク関連の設定

# cp /etc/hosts{,.bak}
# vi /etc/hosts
# cp /etc/network/interfaces{,.bak}
# vi /etc/network/interfaces
# cp /etc/resolv.conf{,.bak}
# vi /etc/resolv.conf

一応ファイルのバックアップを取って、ごにょごにょ編集します。


余計なプロセスの停止

# cd /etc/rc.d/rc2.d
# mv {S,K}20thttpd
# mv {S,K}60lprng
# mv {S,K}90atalk
# mv {S,K}91smb

いろいろ起動しないようにします。

Sambaは3系を入れようと思ったのだけど、Pythonが必要だったり、依存がいくつかあってコンパイルが遅かったので諦めました。

scp出来ればよいかなーと。クロスコンパイル環境がお手軽に作れればやるのかもしれないけど。


sshの起動

sshの起動のためにいろいろ。

一般ユーザの追加
# groupadd sasaplus1
# useradd -d /home/sasaplus1 -g sasaplus1 -s /bin/bash sasaplus1
# passwd sasaplus1
# mkdir -p /home/sasaplus1
# chown sasaplus1:sasaplus1 /home/sasaplus1
rootでのログインを禁止する
# cp /etc/securetty{,.bak}
# vi /etc/securetty
:3,24s/^/###/
:wq
sshが起動できるようにする
# cp /etc/default/ssh{,.bak}
# vi /etc/default/ssh
AUTOKEYGEN=noをAUTOKEYGEN=yesに
:wq
sshの設定を変更する
# cp /etc/ssh/sshd_config{,.bak}
# vi /etc/ssh/sshd_config
PermitRootLogin yesをPermitRootLogin noに
#AuthorizedKeysFile     %h/.ssh/authorized_keys
を
AuthorizedKeysFile     %h/.ssh/authorized_keys
に
:wq
デーモンの起動
# /etc/init.d/ssh start
sshが起動するように
# cd /etc/rc.d/rc2.d
# ln -s ../init.d/ssh ./S30ssh

telnet, ftpの停止

# cp /etc/inetd.conf{,.bak}
# vi /etc/inetd.conf
:26s/^/###/
:30s/^/###/
:wq

sshを起動させるので、ftpとtelnetを停止します。


ntpdateで時刻合わせ

ものすごく時刻がずれるので、ntpdateで時刻合わせをします。

# ntpdate ntp.nict.jp
# export EDITOR=vi
# crontab -e
5 */3 * * * /usr/sbin/ntpdate ntp.nict.jp

3時間おきに実行すればよいかなーと。

本当はchronyってやつが良いらしいので、それをごにょごにょやったのだけど設定が良くわからなくて諦めました。コンパイルはできたよー。


rsyncでミラーリング

rsyncでミラーリング出来るようにrsyncをインストールします。

# tar xvfz rsync-3.0.9.tar.gz
# cd rsync-3.0.9/
# mkdir -p /usr/local/bin
# ln -s /bin/busybox /usr/local/bin/dirname
# ./configure --prefix=/usr/local
# make all check
# make install

make checkは要らないかも。

dirnameを作ってるのは、作らないと./configureだったか何かがこけるから。


こんなところかなー。

また玄箱にはミラーとして頑張ってもらうかなー。


参考:

http://www.daily-labo.com/hardware/kuro10.html

rsyncではまったメモ

XS35から玄箱/HGにrsyncしようとしたらはまったのでメモメモ。


rsync用の公開鍵と秘密鍵を生成して、それぞれにおいた後に以下のテストをしたのですよ。

rsync -anv --delete --force --progress --human-readable /xxx sasaplus1@xxx.xxx.xxx.xxx:/mnt/share

そうしたら、rsyncが固まるというか…… エラーも何も出力せずに全然動かない感じになりましたとさ。

rsync -anvvv --delete --force --progress --human-readable /xxx sasaplus1@xxx.xxx.xxx.xxx:/mnt/share

にしてみたら、リモートのrsyncコマンドがないよ、と言われたり。玄箱/HGにインストールしたのは確認したし、whichしてちゃんとパスも表示されるし……


意味がわからないので

rsync -anvvv --delete --force --progress --human-readable --rsync-path=/usr/local/bin/rsync /xxx sasaplus1@xxx.xxx.xxx.xxx:/mnt/share

にしたら無事に動作しました。何故なんだろう。

今は

rsync -av --delete --force --progress --human-readable --rsync-path=/usr/local/bin/rsync /xxx sasaplus1@xxx.xxx.xxx.xxx:/mnt/share

で動かしてる感じ。

/usr/localに入れてるとダメなのかなあ……そんなことないよなあ、普通。


ミラーリングはできたんだけど、バックアップが欲しいなあ。

玄箱/HGをミラーリングにして、余ってる外付けHDDをバックアップにすると良いのかな。

2012年09月19日(水)

玄箱/HGにインストールしたUbuntuの代わりにDebianを入れてみたけどだめだった……

http://mizupc8.bio.mie-u.ac.jp/pukiwiki/index.php?LinkStation%2FTeraStation%2F%E7%8E%84%E7%AE%B1%2FPPC%2Fdebootstrap

http://mizupc8.bio.mie-u.ac.jp/pukiwiki/index.php?LinkStation%2FTeraStation%2F%E7%8E%84%E7%AE%B1%2FPPC%2FDebian%2FSqueeze

を参考に、UbuntuDebian squeezeで乗せ変えてみたけど……だめだった。

/lib/modules以下にモジュール置いたりしたんだけどなー。

SSHでつながらない……なのでDebianが起動しているのかどうかわからない。

pingには反応しているので何かしら起動はしているのだろうけど。

2012年09月17日(月)

玄箱/HGにUbuntu 12.04 LTSをインストールしたよ

Debian Lennyにしてから大分経っていたのですが、当然いまはSqueezeじゃないですか。

古いままというのも如何なものかなーと思いつつ、でもloader.o書いたりとか怖いし……とか思っていたら、

簡単にUbuntuに出来る方法 + そのファイルやスクリプトなどが配布されていたのでUbuntuを入れてみることにしたのでした。

5ちゃんねる error 3001 / no title

環境:玄箱/HG + OS X 10.7.4


初期化

初期状態のMontaVista Linuxが入っている状態にします。

HGなのでログインするときはroot/kuroadminですねー。


まず、クライアントからtelnetで接続します。

$ telnet -l root (IP)

サーバー側でHDDの初期化をし、パーティションを切ります。

# mfdisk -e /dev/hda
# /sbin/mkfilesystem.sh

今度はクライアントから新規セットアップ用ファームウェアVer1.01の中に含まれる、tmpimage.tar.gzを転送します。

$ unzip kurog101.zip
$ unzip image.zip
$ ftp root@(IP)
ftp> binary
ftp> cd /mnt2
ftp> put tmpimage.tar.gz
ftp> quit

転送したtmpimage.tar.gzを展開します。

# cd /mnt
# tar xvfz /mnt2/tmpimage.tar.gz
# rm -f /mnt2/tmpimage.tar.gz
# echo -n 'OKOK' > /dev/fl3
# reboot

これでMontaVista Linuxが起動するので、Ubuntuのインストールに移ります。


Ubuntuのインストール

Ubuntuをインストールするために必要なファイルをダウンロードしてきます。

no titleにある、

  • kuro-bootsel2.20080419.tar.gz
  • ubuntu-precise-installer.zip
  • linux-modules-3.2.0.24-kurobox.tar.gz
  • linux-image-3.2.0.24-kurobox.tar.gz
  • ubuntu-12.002
  • ubuntu-12.001

をダウンロードしてきます。


下準備として、

$ unzip ubuntu-precise-installer.zip
$ cat ubuntu-12.001 ubuntu-12.002 > ubuntu-12.04-server-rootfs.tar.gz

を実行します。

で、これらのファイルを玄箱に転送します。

$ ftp root@(IP)
ftp> binary
ftp> cd /mnt/share
ftp> mput kuro-bootsel2.20080419.tar.gz linux-image-3.2.0.24-kurobox.tar.gz linux-modules-3.2.0.24-kurobox.tar.gz ubuntu-12.04-server-rootfs.tar.gz
ftp> lcd ubuntu-precise-installer
ftp> mput ubuntu-precise-installer-kuroHG.sh uloader-2.4.17_mvl21.o u-boot-1.2.0-hg.ram.bin

転送が終わったらtelnetでログインし、インストールスクリプトを実行します。

$ telnet -l root (IP)
# cd /mnt/share
# sh ubuntu-precise-installer-kuroHG.sh
# rm -f ./*

これでインストールは完了ですが、ネットワークの設定も書き換えておきます。

そのあと再起動すればUbuntuが起動します。(起動が遅いですが)

# cd /mnt/etc
# vi hostname
# vi hosts
# vi resolve.conf
# vi network/interfaces
# reboot

Ubuntuへログイン

インストールのできたUbuntuへSSHでログインします。tmp-kun/tmp-kunでログインできます。

また、tmp-kunはTabの補完が効かないため発狂しそうになることでしょう。それとsudoもできません。

$ ssh -o "PubkeyAythentication no" tmp-kun@(IP)

rootへはroot/rootで切り替えられるようです。

それと、なぜかresolve.confが変更されているようなので再度編集します。

$ su -
# vi /etc/resolv.conf
# service networking restart
# apt-get update
# apt-get upgrade

あとはお好きなアプリケーションなどをインストールして、お好みなサーバに仕立て上げて行くと良いでしょう。


Ubuntuインストール後、EMモードに移行する

以下はUbuntuのインストール後にEMモードにする方法についてです。

実は上記は以下を行なった後の2度目のインストールだったり……


クライアントからSSHでログインします。

$ ssh -o "PubkeyAuthentication no" (user)@(IP)

で、ブートできないようにします。

$ su -
# mount /dev/hda1 /mnt
# mv /mnt/boot /mnt/boot_
# reboot

再起動をするとMontaVista Linuxで起動するので、telnetでログインします。

$ telnet -l root (IP)

例のやつを書いてあげるとEMモードで起動します。

# echo -n 'NGNG' > /dev/fl3
# reboot

そろそろ玄箱も終わりかと思ってましたが、まだまだ使えそうです。

というか玄箱並に消費電力の小さいサーバ知らないのでこれがなくなると困るのですよね……

扱いが面倒なので正直代わりのものを探したいのですけど。

玄箱/HGにUbuntuをインストールした後のちょっとした設定

ちょっとした設定などのメモ。


SSH
# cp /etc/ssh/sshd_config{,.bak}
# vi /etc/ssh/sshd_config
--- sshd_config.bak     2012-09-17 13:09:28.000000000 +0000
+++ sshd_config 2012-09-17 13:10:12.000000000 +0000
@@ -24,12 +24,12 @@

 # Authentication:
 LoginGraceTime 120
-PermitRootLogin yes
+PermitRootLogin no
 StrictModes yes

 RSAAuthentication yes
 PubkeyAuthentication yes
-#AuthorizedKeysFile    %h/.ssh/authorized_keys
+AuthorizedKeysFile     %h/.ssh/authorized_keys

 # Don't read the user's ~/.rhosts and ~/.shosts files
 IgnoreRhosts yes

ntp
# apt-get install ntp
# cp /etc/ntp.conf{,.bak}
# vi /etc/ntp.conf
# service ntp restart
--- ntp.conf.bak        2012-09-17 13:12:20.000000000 +0000
+++ ntp.conf    2012-09-17 13:14:13.000000000 +0000
@@ -16,13 +16,18 @@
 # Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board
 # on 2011-02-08 (LP: #104525). See http://www.pool.ntp.org/join.html for
 # more information.
-server 0.ubuntu.pool.ntp.org
-server 1.ubuntu.pool.ntp.org
-server 2.ubuntu.pool.ntp.org
-server 3.ubuntu.pool.ntp.org
+#server 0.ubuntu.pool.ntp.org
+#server 1.ubuntu.pool.ntp.org
+#server 2.ubuntu.pool.ntp.org
+#server 3.ubuntu.pool.ntp.org
+server ntp.ring.gr.jp
+server ntp1.jst.mfeed.ad.jp
+server ntp2.jst.mfeed.ad.jp
+server ntp3.jst.mfeed.ad.jp
+server ntp.nict.jp

 # Use Ubuntu's ntp server as a fallback.
-server ntp.ubuntu.com
+#server ntp.ubuntu.com

 # Access control configuration; see /usr/share/doc/ntp-doc/html/accopt.html for
 # details.  The web page <http://support.ntp.org/bin/view/Support/AccessRestrictions>

ユーザー
ssh -o "PubkeyAuthentication no" root@(IP)
groupmod -n (user) tmp-kun
usermod -d /home/(user) -m -l (user) tmp-kun
passwd (user)

あとは公開鍵の設定くらいでしょうか。

2011年02月13日(日)

Debian化し直した玄箱/HGにインストールしたアプリケーション

Debian化した玄箱/HGに入れたアプリケーションのリストなど。


リスト

  • openssh-server
  • perl-modules
  • ntp
  • samba
  • clamav
  • screen
  • gnu-fdisk
    • cfdiskに慣れないためインストール
  • rsync
  • openjdk-6-jdk
    • RingoJSのため
  • build-essential
  • git-core
    • lessも一緒に入る
  • mercurial
  • jsvc
    • RingoJSが依存しているパッケージ
  • python-django
  • locales
  • ruby
  • rubygems
  • python-setuptools(easy_install)

玄箱/HGでRingoJSがどの程度の速度で動いてくれるかなーと試してみたけど、使い物になる速度では動いてくれなかった……

まあ予想通りというか、ね。


RubyはいつもならRVM使うんだけど、玄箱だとコンパイルに時間がかかりすぎるのでリポジトリからインストール。

2011年02月05日(土)

ClamAVをインストールしたよ

ClamAVのインストールと設定などなど。これでいいのかどうかはかなり心配だけど……

環境:玄箱/HG Debian(Lenny)化済み


インストール

まずapt-lineにdebian-volatileを追加を。忘れずにaptで更新。

# echo 'deb http://volatile.debian.org/debian-volatile lenny/volatile main' >> /etc/apt/sources.list
# aptitude update

続いてClamAVのインストール。

# aptitude install clamav

この時すでに古い方のclamavをインストールしていた場合は

# aptitude safe-upgrade

でアップデートする。


freshclamも一緒にインストールされてデーモンで動いてるはず。

# /etc/init.d/clamav-freshclam status
freshclam is running.
# ps ax | grep freshclam
xxxx ?        Ss     0:00 /usr/bin/freshclam -d --quiet

毎日更新してエラー以外は出力しない、って動作かな……多分。


cronで定期的にスキャンする

定期的にスキャンして欲しいのでcronに設定する。

まずはスクリプトの作成とログを出力するファイルを作る。

$ cd ~/
$ mkdir -p clamav/bin
$ mkdir -p clamav/log
$ touch clamav/log/clamav.log
$ vi clamav/bin/check-virus.sh
$ chmod 0700 clamav/ -R

check-virus.shの中身は以下の通り。

#!/bin/sh

LOG_FILE='~/clamav/log/clamav.log'
SCAN_PATH='~/'

clamscan --infected --quiet --log $LOG_FILE --recursive $SCAN_PATH > /dev/null 2>&1

感染していたファイルだけ出力、エラーだけ出力、ログはclamav.logに、~/以下をスキャンという設定。


一番大事なcronへの登録。

$ export EDITOR=vi
$ crontab -e
0 5 * * 1 ~/clamav/bin/check-virus.sh

毎週月曜の午前05時00分から実行、ってこれでいいのかな……


これでスキャンは多分大丈夫かなーと、でもスキャンするだけであって駆除はできないんだよねー。

まあそれはその時に考えたほうがいいかな。無いのが一番だけど。

2011年01月31日(月)

ntpとsambaのインストール

あまりよくわかっていないntpとsambaのインストール。


ntp

# aptitude install ntp
# vi /etc/ntp.conf
...
restrict ntp.ring.gr.jp noquery nomodify notrap
restrict ntp.jst.mfeed.ad.jp noquery nomodify notrap
restrict ntp.nict.jp noquery nomodify notrap
restrict ntp.nict.jp noquery nomodify notrap
restrict ntp.nict.jp noquery nomodify notrap

server ntp.ring.gr.jp
server ntp.jst.mfeed.ad.jp
server ntp.nict.jp
server ntp.nict.jp
server ntp.nict.jp
...
:wq
# /etc/init.d/ntp restart

こんな感じでいいのかな……

一応"ntpq -p"ではちゃんと同期されているよう。


samba

以前書いた方法と全く同じ方法でインストールと設定を。

$ mkdir -p /home/(ユーザー名)/samba
$ chmod 0700 /home/(ユーザー名) -R
$ chown (ユーザー名):users /home/(ユーザー名) -R
$ su -
# aptitude install samba
(全部デフォルトでインストールする)
# cd /etc/samba
# cp smb.conf{,.bak}
# vi smb.conf
[global]
   unix charset = UTF-8
   dos charset = CP932
   display charset = UTF-8
   map to guest = Bad User
   preferred master = yes
   os level = 65
...
[(ユーザー名)]
   comment = home directory of (ユーザー名)
   path = /home/(ユーザー名)
   valid users = (ユーザー名)
   public = no
   read only = no
   create mask = 0600
   directory mask = 0700
   map archive = no
# smbpasswd -a (ユーザー名)
# /etc/init.d/samba restart

これでいいはずなのに、アクセスしても権限が無くて使えないんだよなー。何か忘れてるのかな。


追記:

rootでディレクトリを作ったからアクセス出来なかった模様?

そのユーザーで作ってみたらアクセスできた。

2011年01月30日(日)

Windowsを使わずに玄箱/HGを初期状態に戻す

私の家はUbuntu x 2, Mac x 1, 玄箱/HG x 2というすごく一般的でない環境で、Windowsでしか動かせないソフトが必要になると大変困るのです。

で、困ったことに玄箱/HGは普通ならWindowsがないとセットアップできない(KuroBoxSetup.exeを使わないと初期状態に戻せない)ので、Windowsを消してしまって以来、玄箱/HGが戻せずじまいでした。(サーバなのに1年に数回入れ直してるのがおかしいのだろうけど)

wineを使ってKuroBoxSetup.exeを動かすのもなんなので、Linuxだけでどうにかできないか探してみたらいくつもあるではないですか。

というわけで、それを参考に初期化してインストールするソフトもいろいろ見直そうかと思い立ったのでした。

環境:Ubuntu10.10 64bit / 玄箱/HG Debian(lenny)化済み


EMモードにする

なぜかうちの玄箱/HGは

$ ssh (IPaddr)
# echo -n 'NGNG' > /dev/fl3
# /sbin/reboot

をやっても普通にDebianで起動されてしまうので、Debianが起動しないように壊してみました。

# mount /dev/hda1 /mnt
# cd /mnt/boot
# mv ./vmlinuz.bin{,.test}

これで再起動するとMontaVistaLinuxで起動するようなので、この状態で

$ telnet (IPaddr)
# echo -n 'NGNG' > /dev/fl3
# /sbin/reboot

を実行するとEMモードになるようです。


初期化とパーティション切り

KuroBoxSetup.exeが実行しているであろうスクリプトを実行して、パーティションを切ってもらいます。

その前にmfdiskでちゃんと消しておきます。スクリプトは初期化まではしてくれないみたいなので。

$ telnet (IPaddr)
# mfdisk -e /dev/hda
# /sbin/mkfilesystem.sh

これでパーティションが分割されました。

# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/ram0                 9.5M      5.0M      4.5M  53% /
/dev/hda3               227.0G     32.1M    227.0G   0% /mnt2
/dev/hda1                 2.0G     32.1M      1.8G   2% /mnt

ram0がEMモードの領域かな?


MontaVistaLinuxをインストール

Blockedからkurog101.zipをダウンロードしてきます。

本当に必要なのはこの書庫に入っているimage.zipだけなのでそれをftpでアップロードします。

$ cd (kurog101.zipをダウンロードしたディレクトリ)
$ unzip kurog101.zip
$ cd kurog101
$ ftp
ftp> open (IPaddr)
ftp> binary
ftp> mkdir /mnt2/tmp
ftp> cd /mnt2/tmp
ftp> put image.zip
ftp> quit

telnetから玄箱/HGにつないで、アップロードしたimage.zipを展開します。

$ telnet (IPaddr)
# cd /mnt2/tmp
# unzip image.zip
# cd /mnt
# tar xvfz /mnt2/tmp/tmpimage.tgz
# rm -rf /mnt2/tmp
# echo -n 'OKOK' > /dev/fl3
# shutdown -r now

これで再起動するとMontaVistaLinuxが起動します。


参考:玄※:Windowsに頼らないセットアップ - livedoor Blog(ブログ)

玄箱/HGのDebian(Lenny)化

玄箱/HGにDebian(Lenny)をインストールしたときのメモ - 四角革命前夜とほとんど同じなのですけど。


必要な書庫を集める

no titleから以下の書庫をダウンロードしてきます。

  • debian-lenny-installer-kuroBOX-20090317.tgz
  • debian-lenny-kuroBOX-20090317.tgz
  • kuro-bootsel2-debian.tgz
  • kuro-bootsel2.20080419.tar.gz
  • loader.o
  • kernelimage-2.6.25.1-kuroHG.tgz
  • modules-2.6.25.1-kuroHG.tgz

アップロードと展開とインストール

ダウンロードしてきた書庫をアップロードします。

$ cd (書庫をダウンロードしたディレクトリ)
$ ftp
ftp> open (IPaddr)
ftp> binary
ftp> cd /tmp
ftp> prompt
ftp> mput *.tgz
ftp> prompt
ftp> put loader.o
ftp> put kuro-bootsel2.20080419.tar.gz
ftp> quit

# cd /tmp
# tar xvfz debian-lenny-installer-kuroBOX-20090317.tgz
# ./debian-lenny-installer-kuroHG.sh

インストールスクリプトは進捗などが表示されないので気になる場合は

# cp debian-lenny-installer-kuroHG.sh{,.bak}
# sed -e 's#/bin/sh#/bin/sh -x#' debian-lenny-installer-kuroHG.sh.bak > debian-lenny-installer-kuroHG.sh

をやってから実行するといいのかも。それにしても"sed -i.bak ..."がMontaVistaLinuxだと使えないなんて……


IPアドレスなどの設定

このまま再起動すると玄箱/HGは192.168.0.100で起動するので、今のうちにIPアドレスを変更しておきます。

# cd /mnt/etc
# vi hostname            # KURO-BOX から KURO-BOX1 に
# vi hosts               # 192.168.xxx.xxx KURO-BOX1を追加
# vi resolv.conf         # nameserver のIPアドレスを変更
# vi network/interfaces  # hostsで設定したIPで静的IPに

再起動

# echo -n 'CCCC' > /dev/ttyS1; shutdown -r now

これでDebianが起動します。初期化から始めるとちょっと長いのがちょっと。

Debian化のあとの最低限の設定

まずは玄箱/HGに接続を。

$ telnet (IPaddr)
tmp-kun
tmp-kun
$ su -
root

最初にパッケージの更新をば。

# aptitude update
# aptitude safe-upgrade

contribやnon-freeにあるパッケージを使いたい場合は /etc/apt/list/sources.list の、コメントアウトされてる部分を編集すればよろしいかと。


やっぱり最初はSSHできるようにopenssh-serverをインストール。

ついでにtelnetが使えないように、あとrootで直接入れないようにしておきます。

これ以降はSSHを使うので再起動を。

# aptitude install openssh-server
# cd /etc
# sed -i.bak 's/^\(telnet.*\)/#\1/' inetd.conf
# cd /etc/ssh
# sed -i.bak 's/^\(PermitRootLogin \).*/\1no/' sshd_config
# echo -n 'CCCC' > /dev/ttyS1; shutdown -r now

ちゃんと変わってるかどうか見たいときは"diff -u xxx.bak xxx"で見ましょう。


telnetでアクセスできないことと、rootでログインできないことを確認。

$ telnet (IPaddr)
$ ssh root@(IPaddr)
$ ssh tmp-kun@(IPaddr)

とりあえずユーザーを作ってtmp-kunを削除しましょう。ついでにrootのパスワードも変更。

$ su -
root
# useradd -g users -m (ユーザー名)
# passwd (ユーザー名)
(ユーザーのパスワードを設定)
# exit
$ exit
$ ssh (ユーザー名)@(IPaddr)
$ su -
root
# aptitude install perl-modules
# deluser --remove-home tmp-kun
# passwd

とりあえず今のところはこれだけ。

玄箱/HGを鍵認証でSSHできるようにする

毎回パスワードを入力するのが面倒になってきたので鍵認証で入れるようにします。

環境:Ubuntu10.10 64bit / 玄箱/HG Debian(Lenny)化済み


玄箱/HGで公開鍵・秘密鍵を作ります。パスフレーズはお好きに。私は必ず入れますが。(入れると最初の一回はパスフレーズを入力しないといけないけど……)

あとはクライアント側に秘密鍵をコピー。ここでFTPを使ったりすると台無しなのでSCPを使いましょう。

$ ssh-keygen -t rsa -C "KURO-BOX"
$ cd ~/.ssh
$ mv {,kuro-box_}id_rsa
$ mv {,kuro-box_}id_rsa.pub
$ cat kuro-box_id_rsa.pub >> authorized_keys2
$ scp kuro-box_id_rsa (クライアントのユーザー名)@(クライアントのIP):(保存先)
$ rm kuro-box_id_rsa

続いてクライアント側でちょっとした設定を。

$ mv (保存した先)/kuro-box_id_rsa ~/.ssh
$ cat <<'EOB' >> ~/.ssh/config
> Host (玄箱のIP)
>   User (玄箱のユーザー名)
>   IdentityFile ~/.ssh/kuro-box_id_rsa
> EOB

……クライアント側で鍵を生成して、サーバ側に公開鍵を送った方がいいのかも。というか断然いいはず。


これでSSHする際に鍵認証で入れるように。

パスワード認証出来ないようにするなら以下のコマンドを。

$ sed -i.bak 's/^\(PasswordAuthentication \).*/\1no' /etc/ssh/sshd_config
$ /etc/init.d/sshd restart

でもこれをやると何らかの理由で鍵をなくしたときにかなり困るような……