lsh

lshとは

opensshのような、安全なリモート接続を提供する secure shell の実装です。 opensshと相互に接続が可能です。

[[$$amazon-search-result-middle books-jp openssh]]

インストール方法

ダウンロード

エラーなど

  • lshのspecファイルの想定しているディレクトリ構造が古い
    • spec の /usr/man, /usr/info などを /usr/share/man, /usr/share/info に書き換える。
  • error: Installed (but unpackaged) file(s) found: が発生する
  • インストールすると openssh の sftp のマニュアルと衝突する。
    • specの %install で、先に消しておく。
        - ../BUILD/lsh-2.0.4/contrib/lsh.spec 2009-01-22 17:48:34.000000000 +0900
+++ lsh-2.0.4.spec      2009-01-22 18:18:26.000000000 +0900
@@ -2,7 +2,7 @@
 Name:           lsh
 Version:        2.0.4
 Release:        1
-Copyright:      GPL
+License:      GPL
 Group:          Application/Internet
 Source0:        ftp://ftp.lysator.liu.se/pub/security/lsh/%{name}-%{version}.tar.gz
 BuildRoot:      /var/tmp/%{name}-%{version}-root
@@ -11,6 +11,8 @@
 URL:            [http://www.net.lut.ac.uk/psst/](http://www.net.lut.ac.uk/psst/) 
 Requires:       chkconfig
 Requires:      info
+%define        _unpackaged_files_terminate_build   0
+%define        _missing_doc_files_terminate_build  0


 %description
@@ -44,10 +46,13 @@
 strip $RPM_BUILD_ROOT%{prefix}/bin/* || true
 strip $RPM_BUILD_ROOT%{prefix}/sbin/*

-gzip $RPM_BUILD_ROOT%{prefix}/man/*/*
+gzip $RPM_BUILD_ROOT%{prefix}/share/man/*/*

 rm -f doc/Makefile*

+# conflict with openssh
+rm -f $RPM_BUILD_ROOT%{prefix}/share/man/man8/sftp-server.8.gz
+

 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -58,16 +63,18 @@
 if [ ! -e /etc/lsh_host_key -o ! -e /etc/lsh_host_key.pub ]
 then
         rm -f /etc/lsh_host_key*
+       mkdir -p /root/.lsh
+        lsh-make-seed -o /root/.lsh/yarrow-seed-file
         /usr/bin/lsh-keygen -l 1024 | /usr/bin/lsh-writekey -o /etc/lsh_host_key
 fi
-/sbin/install-info --info-dir=%{prefix}/info %{prefix}/info/lsh.info
+/sbin/install-info --info-dir=%{prefix}/share/info %{prefix}/share/info/lsh.info


 %preun
 if [ "$1" -eq 0 ]
 then
         chkconfig --del lshd || exit 0
- /sbin/install-info --delete --info-dir=%{prefix}/info %{prefix}/info/lsh.info
+       /sbin/install-info --delete --info-dir=%{prefix}/share/info %{prefix}/share/info/lsh.info
 fi


@@ -79,8 +86,8 @@

 %config/etc/rc.d/init.d/lshd
 %{prefix}/bin/*
-%{prefix}/man/*/*
-%{prefix}/info/lsh*
+%{prefix}/share/man/*/*
+%{prefix}/share/info/lsh*
 %{prefix}/sbin/*

古いカーネルだとコンパイルエラー

lshd.c: In function `main':
lshd.c:1159: parse error before `struct'
lshd.c:1161: `r' undeclared (first use in this function)
lshd.c:1161: (Each undeclared identifier is reported only once
lshd.c:1161: for each function it appears in.)

[[$$amazon-search-result-middle books-jp セキュリティ サーバー]]