harumaki.net

インフラ屋の覚書や、ラーメン食べある記とか。

openssh6.1 ソースからのインストール

   


元々CentOSに入っているopensshから、最新版の機能を試したいので、現在借りているさくらのVPSにソースからインストールをしてみることに。
make installするタイミングで一旦RPM版のopensshをアンインストールする必要があると思われるので、そのタイミングだけさくらVPSのコンソールから作業をするか(すごく気が引けるけど)telnetアクセスを一時的に有効にするなどして対応する必要あり。

→ていうか、既存のRPM版sshとソースから入れるsshでポートを分ければいいだけの話だったw
さらに、現在のさくらのVPSでのssh環境は、不要なアタックを防止するためポート番号を5桁のポートで不定期で更新しているので、要はソースから入れるsshを22番のデフォルトにしておいてあげればOKだった、という話(もちろんアタックがウザいので、後から変更します。)

ダウンロード元:http://www.ftp.ne.jp/OpenBSD/OpenSSH/portable/

0)事前にチェックすること

1.インストールにあたって、いろいろなオプションがあるので何を使うか決めておく。
– デフォルトのopensshとの使い勝手(というか互換性)を維持するなら
予めパッケージ版の機能を確認しておくこと。
– チョイスするオプションによっては開発環境が必要となる場合もある。
以下は一例。
ひとまずPAM、TCP wrapperがあればOKか?場合によってはSELinuxなども…

PAM support
OSF SIA support
KerberosV support
SELinux support
Smartcard support
S/KEY support
TCP Wrappers support
MD5 password support

2.インストール先ディレクトリを決めておく。
prefixを指定しない場合は、インストールの際のファイルは/usr/local以下に配置されるので
そのままでもOK。
指定する場合は、一般的に/usr/local/opensshや/usr/local/ssh、/opt/opensshや/opt/sshなどに
落ち着くかな、と(勝手に思っているw)

1)ダウンロードと展開

$ wget http://www.ftp.ne.jp/OpenBSD/OpenSSH/portable/openssh-6.1p1.tar.gz
$ tar zxvf openssh-6.1p1.tar.gz

2)ビルドしてコンパイル

今回はprefixは指定なし。
オプションは調べもせずにそれっぽいのを付けてみたw
(次回はドキュメントちゃんと読みます…)

$ cd openssh-6.1p1
$ ./configure \
--with-pam \
--with-osfsia \
--with-kerberos5=/usr/lib/krb5 \
--with-selinux \
--with-tcp-wrappers \
--with-md5-passwords

– ビルドが正常終了すると、オプションを反映して以下の情報が出力される。

OpenSSH has been configured with the following options:
User binaries: /usr/local/bin
System binaries: /usr/local/sbin
Configuration files: /usr/local/etc
Askpass program: /usr/local/libexec/ssh-askpass
Manual pages: /usr/local/share/man/manX
PID file: /var/run
Privilege separation chroot path: /var/empty
sshd default user PATH: /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
Manpage format: doc
PAM support: yes
OSF SIA support: no
KerberosV support: yes
SELinux support: yes
Smartcard support:
S/KEY support: no
TCP Wrappers support: yes
MD5 password support: yes
libedit support: no
Solaris process contract support: no
Solaris project support: no
IP address in $DISPLAY hack: no
Translate v4 in v6 hack: yes
BSD Auth support: no
Random number source: OpenSSL internal ONLY
Privsep sandbox style: rlimit

Host: x86_64-unknown-linux-gnu
Compiler: gcc
Compiler flags: -g -O2 -Wall -Wpointer-arith -Wuninitialized -Wsign-compare -Wformat-security -Wno-pointer-sign -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -fno-builtin-memset -fstack-protector-all -std=gnu99
Preprocessor flags:
Linker flags:  -fstack-protector-all
Libraries: -lcrypto -ldl -lutil -lz -lnsl  -lcrypt -lresolv -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err
+for sshd:  -lwrap -lpam -lselinux
+for ssh:  -lselinux

PAM is enabled. You may need to install a PAM control file
for sshd, otherwise password authentication may fail.
Example PAM control files can be found in the contrib/
subdirectory

– コンパイル

$ make

– インストール

$ su -c "make install"

またはsu -して

# make install

※pACOが入っているなら、”paco -c “make install””にしておくとよい。

あとは既存の(インストール済み)のsshのポートと番号を分けてあげて
起動すれば利用できるように。

その他に6.1でできる機能やらインストールオプションの詳細などを
詳しく調べてみたいので、時間のある時にいろいろとやってみたい今日このごろ。
 
 

OpenSSH[実践]入門 Software Design plus
技術評論社 (2014-11-05)
売り上げランキング: 42,575

 

実用SSH 第2版―セキュアシェル徹底活用ガイド
Daniel J. Barrett Richard E. Silverman Robert G. Byrnes
オライリー・ジャパン
売り上げランキング: 198,635

 

 - GNU/Linux, ssh, メモ