Last Updated on 2021年7月4日 by かんりにん
元々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でできる機能やらインストールオプションの詳細などを
詳しく調べてみたいので、時間のある時にいろいろとやってみたい今日このごろ。