centos6.5安裝openssh7.2p2方法

最近客戶處有一些linux操作系統安裝了較舊的SSH,存在版本漏洞,小研究了一下,安裝最新版本的OPENSSH,可以平滑升級。

ssh登錄到要安裝的服務器上,查看當前版本  
[root@localhost ~]# ssh -V    
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013    
在/目錄下創建/tools目錄,通過FTP工具上傳安裝文件到該目錄下(文件可以到官網去下載)    
mkdir /tools    
[root@localhost tools]# ls -ltrh    
total 9.2M    
-rw-r--r--. 1 root root 1.5M Jun 28 09:14 openssh-7.2p2.tar.gz    
-rw-r--r--. 1 root root 5.1M Jun 28 09:14 openssl-1.0.2h.tar.gz    
-rw-r--r--. 1 root root 2.7M Jun 28 09:14 zlib-1.2.8.tar.gz    
-----------------------------------------配置YUM---------------------------------------------------------

插入系統安裝光盤,配置yum源。(也可以上傳ISO到服務器,然後mount –o loop <ISO文件路徑> /mnt)  
[root@localhost ~]# mount /dev/cdrom1 /mnt/    
mount: block device /dev/sr0 is write-protected, mounting read-only    
[root@localhost ~]# cd /etc/yum.repos.d/    
[root@localhost yum.repos.d]# ls    
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo  CentOS-Vault.repo    
[root@localhost yum.repos.d]# rm -rf *    
[root@localhost yum.repos.d]# touch local.repo    
[root@localhost yum.repos.d]# vi local.repo    
[root@localhost yum.repos.d]# cat local.repo    
[local]    
name=centos    
gpgcheck=0    
enable=1    
baseurl=file:///mnt    
[root@localhost yum.repos.d]# yum makecache    
Loaded plugins: fastestmirror, refresh-packagekit, security    
local                                                     | 4.0 kB     00:00 ...    
local/group_gz                                            | 220 kB     00:00 ...    
local/filelists_db                                        | 5.8 MB     00:00 ...    
local/primary_db                                          | 4.4 MB     00:00 ...    
local/other_db                                            | 2.7 MB     00:00 ...    
Metadata Cache Created    
-------------------升級前先安裝好TELNET服務器,以防止SSH重啓無法登錄------------------   
使用yum安裝Telnet服務    
yum install telnet-server

修改/etc/xinetd.dtelnet文件disable=no(原有值爲yes)  
sed -i '12 s/yes/no/' /etc/xinetd.d/telnet


配置允許root用戶遠程登錄,然後重啓服務    
[root@localhost xinetd.d]# echo 'pts/0' >>/etc/securetty    
[root@localhost xinetd.d]# echo 'pts/1' >>/etc/securetty    
[root@localhost xinetd.d]# service  xinetd restart 
Stopping xinetd:                                           [FAILED]    
Starting xinetd:                                           [  OK  ]    
-----------------------使用telnet登錄系統--------------------------------------------------

用ROOT賬戶使用telnet登錄系統執行修改OPENSSH操作

-----------------------使用yum移除openssh--------------------------------------------------

yum remove openssh<會刪除較多依賴包>

或者

rpm -e openssh-server-5.3p1-94.el6.x86_64

rpm -e openssh-askpass-5.3p1-94.el6.x86_64


------------------------安裝zlib-----------------------------------------------------------
cd /tools

tar -xvf zlib-1.2.8.tar.gz

cd zlib-1.2.8

./configure --prefix=/usr/local/zlib && make && make install  
-------------------------安裝openssl-------------------------------------------------------
tar -xvf openssl-1.0.2h.tar.gz

cd openssl-1.0.2h

./config --prefix=/usr/local/openssl

make depend

make

make install

-----------------------安裝openssh-----------------------------------------------------------------------------  
tar -xvf openssh-7.2p2.tar.gz

cd openssh-7.2p2

./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl --with-zlib=/usr/local/zlib --with-md5-passwords --without-hardening && make && make install

-------------------------拷貝SSHD服務文件--------------------------------------------------
cp contrib/redhat/sshd.init /etc/init.d/sshd    
chmod +x /etc/init.d/sshd

--------------------------修改SSHD服務文件-------------------------------------------------

修改SSHD文件

vi /etc/init.d/sshd

修改以下內容  
SSHD=/usr/sbin/sshd 爲 SSHD=/usr/local/openssh/sbin/sshd    
/usr/bin/ssh-keygen -A 爲 /usr/local/openssh/bin/ssh-keygen -A    
保存退出    
加入到系統服務    
[root@localhost openssh-7.2p2]# chkconfig --add sshd    
查看系統啓動服務是否增加改項    
[root@localhost openssh-7.2p2]# chkconfig --list |grep sshd    
sshd               0:off    1:off    2:on    3:on    4:on    5:on    6:off    
  

---------------------------替換SSH及SSL命令------------------------------------------------

mv /usr/bin/ssh /usr/bin/ssh.old

ln -s /usr/local/openssh/bin/ssh /usr/bin/ssh

mv /usr/bin/openssl /usr/bin/openssl.old

ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

[root@localhost ~]# ssh -V

OpenSSH_7.2p2, OpenSSL 1.0.2h  3 May 2016

[root@localhost ~]# openssl version -a

OpenSSL 1.0.2h  3 May 2016

built on: reproducible build, date unspecified

platform: linux-x86_64

options:  bn(64,64) rc4(16x,int) des(idx,cisc,16,int) idea(int) blowfish(idx) 

compiler: gcc -I. -I.. -I../include  -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM

OPENSSLDIR: "/usr/local/openssl/ssl"

升級到新版本後,默認不允許root用戶遠程登錄

cat /etc/ssh/sshd_config 

修改

PermitRootLogin yes    

重新啓動SSHD服務。    
service sshd start  

完成手動升級

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章