1. 程式人生 > >centos升級openssh的兩種方式

centos升級openssh的兩種方式

此文介紹的是伺服器在有網路和無網路情況下升級openssh方式。


一、首先介紹一個無網路如何升級:

1、準備相關的包

openssh下載地址:http://mirror.internode.on.net/pub/OpenBSD/OpenSSH/portable/

openssl相關包下載:http://www.openssl.org/source/

pam相關包下載:http://pkgs.org/centos-6/centos-x86_64/

zlib包下載: http://zlib.net/

2、安裝zlib

tar -zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure --prefix=/usr/local/zlib && make && make install

3、安裝openssl-fips

tar zxvf openssl-fips-2.0.5.tar.gz
cd openssl-fips
./config
make && make install

4、安裝openssl

tar -zxvf openssl-1.0.1h.tar.gz
cd openssl-1.0.1h
./config fips --shared
make && make install

5、將新編譯的openssl library 加入系統動態庫連結中

echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
ldconfig

6、安裝pam,首先解除安裝舊版本

檢視版本資訊:rpm -qa|grep pam
解除安裝舊版本:rpm -e --nodeps pam-1.1.1-17.el6.x86_64

安裝pam:依次安裝
rpm -ivh tcp_wrappers-devel-7.6-57.el6.x86_64.rpm
pam-1.1.1-20.el6_7.1.x86_64.rpm
pam-devel-1.1.1-20.el6_7.1.x86_64.rpm

7、安裝OpenSSH
tar zxvf openssh-7.1p1.tar.gz
cd openssh-7.1p1
./configure \
--prefix=/usr \
--sysconfdir=/etc/ssh \
--with-md5-passwords \
--with-pam \
--with-tcp-wrappers \
--with-ssl-dir=/usr/local/ssl \
--with-zlib=/usr/local/zlib \
--without-hardening
make && make install

8、加入到系統服務,重啟sshd升級成功
chkconfig --add sshd
service sshd restart


二、有網路情況下

1、tar zxvf openssh-7.1p1.tar.gz
cd openssh-7.1
./configure --prefix=/usr --sysconfdir=/etc/ssh
make
make install

2、如果配置時出現如下環境問題:

configure: error: *** zlib.h missing - please install first or check config.log ***

使用 yum install openssl openssl-devel -y 安裝相關依賴包

3、配置成功,可以編譯了,如果沒有make環境,用如下命令安裝一下即可
yum install make automake gcc gcc-c++ gcc-g77 -y

4、上面的方法會覆蓋原版本的檔案,make install覆蓋/etc/ssh下配置檔案時可能會報錯。這時刪掉/etc/ssh下的原配置檔案,再make install一次就可以了。

如果使用root遠端無法登入,修改/etc/ssh/sshd_config

將 PermitRootLogin 引數改為yes。