○ lshのインストール (参考)

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

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

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

○関連サイト

:lsh-2.0.4.tar.gz
(ftp://ftp.lysator.liu.se/pub/security/lsh)
:liboop.tar.gz (http://download.ofb.net/liboop/)

○参照ファイル

:パッケージの追加

○インストール環境

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

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



○liboop-1.0

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

# cd /usr/src
[root@venus:/usr/src]
# tar zxvf liboop.tar.gz
# chown -R root:root liboop-1.0
# cd liboop-1.0
[root@venus:/usr/liboop-1.0]
# make distclean
# ./configure
# make
# make uninstall
# make install
# cd ..
[root@venus:/usr/src]
# tar jcvf liboop-1.0-rt-090407.tar.bz2 liboop-1.0/

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

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

# cd ~
[root@venus:~]
# restorecon -Rv /usr/local

○キャッシュ情報の更新と確認

[root@venus:~]
# ldconfig
# ldconfig -p | grep liboop



○lsh-2.0.4

○gmp-develのインストール

・省略

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

# cd /usr/src
[root@venus:/usr/src]
# tar zxvf lsh-2.0.4.tar.gz
# chown -R root:root lsh-2.0.4
# cd lsh-2.0.4
[root@venus:/usr/lsh-2.0.4]
# make distclean
# ./configure CFLAGS="-O2 -march=pentium3" --with-tcpwrappers

・CFLAGS="-O2 -march=pentium3" (CPU最適化オプション)
・該当しない場合は指定しない
・--with-tcpwrappersオプション hosts.allowによる制御を有効にします

# make
# make uninstall
# make install
# cp contrib/lshd.rhlinux.init /etc/init.d/lshd
# cd /usr/src
[root@venus:/usr/src]
# tar jcvf lsh-2.0.4-090407.tar.bz2 lsh-2.0.4/

○seedファイルとhost_keyの作成

# cd ~
[root@venus:~]
# mkdir /var/spool/lsh
# lsh-make-seed -o "/var/spool/lsh/yarrow-seed-file"
lsh-make-seed: Reading system state...
lsh-make-seed: Got 52 bits of entropy from system state.
lsh-make-seed: Please type some random data. You better do this
lsh-make-seed: when connected directly to a console, typing over
lsh-make-seed: the network provides worse timing information, and
lsh-make-seed: more opportunities for eavesdropping.
----------------------------------------
........................................←適当なキーを続けて押します
lsh-make-seed: Got 201 keystrokes, estimating 200 bits of entropy.
lsh-make-seed: You can stop typing now.

・seedファイルの確認
 /var/spool/lsh/yarrow-seed-file

# cd /etc
[root@venus:/etc]
# lsh-keygen --server | lsh-writekey --server

・host_keyの確認
 /etc/lsh_host_key
 /etc/lsh_host_key.pub


○lshdデーモンの起動

: /etc/sysconfig/lshdcfg

・"--no-password"パスワードログインの禁止
・"-p 922"接続を待ち受けるポート (特権ポート範囲)
・"--interface 192.168.0.1"接続を待ち受けるインターフェース

OPTIONS="--no-password -p 922 --interface 192.168.0.1"

: /etc/rc.d/init.d/lshd (詳細別記)

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

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

・起動の確認

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

○鍵の作成

・デフォルトではlshのrootログインは禁止されています
・root以外のユーザでsshログインして作業します
・opensshの公開鍵をlsh用に変換します

[sola@venus:~]
$ ssh-conv < id_dsa.pub > lsh.pub
$ lsh-authorize lsh.pub
$ rm id_dsa.pub
$ rm lsh.pub

・公開鍵の確認
 ./lsh/authorized_keys_sha1/xxx・・・xxx


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

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

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

○tcp_wrappersで制御します

・tcp_wrappersで制御されるものでhosts.allowの既述以外は全て拒否されます

:/etc/hosts.allowに追加します

ALL: 127.0.0.1
lshd: 192.168.0. EXCEPT 192.168.0.21

:/etc/hosts.deny

ALL: ALL

○iptablesの設定

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

Netfilter (iptables) の設定参照



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

○sshでの接続

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

[sola@mars ~]
$ ssh -p 922 sola@192.168.0.1

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