○ dropbearのインストール 4 Router

・複数のsshアクセスルートを確保し、相互のメンテナンスに利用します
・opensshと同等に、サーバへのSECUREな接続を目指します
・dropbear-0.53.1をソースからインストールし、設定します
・opensshで作成した公開鍵を読み込んで使用します
・make はメンテナンスマシンで行っています

・ソースの取得、削除は省略します
・エディタ、ファイラーの操作は省略します
・ソースを展開したら説明文を読みましょう
・Enterキーを省略します

・ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
・設定ファイルで "#" で始まる行はコメントとして解釈されます

○関連サイト

:dropbear-0.53.1.tar.bz2 (http://matt.ucc.asn.au/dropbear/dropbear.html)

○参照ファイル

パッケージの追加
最初の設定 (Router)

○インストール環境

:OS CentOS 5.6
:selinux permissive
:インストール先  /usr/local/ (デフォルト)
:作業 /usr/src
:言語 LANG=en_US.UTF-8
:ユーザー rootで実行

・メンテナンスの場合は一般ユーザから行います



○dropbear-0.53.1

○ソースの展開・インストール

# cd /usr/src
[root@venus:/usr/src]
# tar jxvf dropbear-0.53.1.tar.bz2
# chown -R root:root dropbear-0.53.1
# cd dropbear-0.53.1
[root@venus:/usr/src/dropbear-0.53.1]
# make clean
# ./configure CFLAGS="-O2 -march=pentium3" \
--sysconfdir=/etc --localstatedir=/var

・CFLAGS="-O2 -march=pentium3" (CPU最適化オプション)
・該当しない場合は指定しない

# vi options.h

・options.hの修正(下記参照)

# make
# make install
# cp dbclient.1 /usr/local/share/man/man1
# cp {dropbear.8,dropbearkey.8} /usr/local/share/man/man8
# cd /usr/src
[root@venus:/usr/src]
# tar jcvf dropbear-0.53.1-rt-110410.tar.bz2 dropbear-0.53.1/

・専用ディレクトリの作成

# mkdir /etc/dropbear

:/usr/src/dropbear-0.53.1/options.h

・SFTPSERVER_PATHをopensshのインストールに合わせる

#ifndef SFTPSERVER_PATH
#define SFTPSERVER_PATH "/usr/local/libexec/sftp-server"
#endif

・dropbearのインストールに合わせる

#define _PATH_SSH_PROGRAM "/usr/local/bin/dbclient"

・DEFAULT_PATHをopensshに合わせる

#define DEFAULT_PATH "/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin"

○dropbearデーモンの起動

: /etc/sysconfig/dropbear

・"-s"パスワードログインの禁止
・"-w"rootログインの禁止
・"-p 192.168.0.1:922"接続を待ち受けるアドレス:ポート

OPTIONS="-s -w -p 192.168.0.1:922"

: /étc/rc.d/init.d/dropbear (詳細別記)

・dropbearデーモンを起動します

# cd ~
[root@venus:~]
# service dropbear start
# chkconfig --add dropbear

・起動の確認

# ps ax | grep dropbear
# netstat -lnp | grep dropbear

○公開鍵の作成

・~/.ssh/authorized_keysを読み込みます (サーバ側)
・公開鍵の作成はssh-keygen(openssh)で行います --省略--

○selinuxへの対応 (selinuxが有効の場合)

:新規インストールファイルのselinuxラベルを修正

[root@venus:~]
# restorecon -Rv /etc
# restorecon -Rv /var
# restorecon -Rv /usr/local
# restorecon -RFv /home

○iptablesの設定

・Netfilter (iptables) で制御している場合、ポートを開けてください

Netfilter (iptables) の設定参照



○クライアントからの接続

○sshでの接続

・~/.ssh/known_hostsに情報が保存されている場合は削除します(クライアント側)
・ポート番号を指定してアクセスします

[sola@mars ~]
$ ssh -p 922 sola@venus.528p.com



○xinetdで起動 (参考)

○dropbearデーモンの停止

・dropbearがデーモンモードで起動している場合、停止します

[root@venus:~]
# service dropbear stop
# chkconfig --del dropbear

○鍵の作成

・/etc/dropbearに鍵が存在しない場合、作成します

[root@venus:~]
# cd /etc/dropbear
[root@venus:/etc/dropbear]
# dropbearkey -t rsa -f dropbear_rsa_host_key
# dropbearkey -t dss -f dropbear_dss_host_key

○/etc/servicesの修正

・dropbearの設定を追加します (接続ポートを指定します)

dropbear        922/tcp

○/etc/hosts.allowの修正

・dropbearの設定を追加します (localからの接続のみ許可します)

dropbear: 192.168.0.

○/etc/xinetd.d/dropbearの追加

・dropbearの設定を追加します (localからの接続のみ許可します)
・ "-i" サービスプログラムモード (inetd,xinetdなどから起動する場合)

service dropbear
{
    socket_type     = stream
    only_from       = 192.168.0.0/24
    wait            = no
    user            = root
    protocol        = tcp
    server          = /usr/local/sbin/dropbear
    server_args     = -i -s -w
    disable         = no
}

○xinetdの再起動

# cd ~
[root@venus:~]
# service xinetd restart

・起動の確認

# netstat -lnp | grep xinetd

○ Copyright(c) 528p.com All Rights Reserved.