Centos 6.5 x64升级SSH到OpenSSH_6.6p1完整步骤

来源:互联网 发布:jq遍历json数组 编辑:程序博客网 时间:2024/05/23 20:32

准备工作,下载以下两个软件

openssh-6.6p1.tar.gz    openssl-1.0.1q.tar.gz

1、配置本地yum

首先将操作系统镜像文件(本例使用的是Centos6.5-x86_64操作系统上传到服务器中,进行挂载/mnt目录下,命令如下:

mount -o loop CentOS-6.5-x86_64-bin-DVD1.iso /mnt

1.1进行配置本地yum源命令:

cd /etc/yum.repos.d/

rm -rf *

vim centos6.repo

 

1.2配置文件内容:

[base]

name=rhel6.5

baseurl=file:///mnt

enabled=1

gpgcheck=0

 

1.3清除yum的缓存

yum clean all

1.4查看已配置的yum源列表

yum repolist 

2、安装编译所需工具包

yum -yinstall gcc pam-devel zlib-devel

3、升级OpenSSL

 3.1、备份当前openssl

 find / -name openssl

 mv  /usr/lib64/openssl /usr/lib64/openssl.old

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

mv /etc/pki/ca-trust/extracted/openssl /etc/pki/ca-trust/extracted/openssl.old

# mv/usr/include/openssl /usr/include/openssl.old

 如下两个库文件必须先备份,因系统内部分工具(如yumwget等)依赖此库,而新版OpenSSL不包含这两个库

  cp  /usr/lib64/libcrypto.so.10 /usr/lib64/libcrypto.so.10.old

  cp  /usr/lib64/libssl.so.10 /usr/lib64/libssl.so.10.old

3.2卸载当前openssl

rpm -qa | grep openssl

rpm -e --nodeps openssl-1.0.1e-15.el6.x86_64

rpm -e –nodeps openssl-devel-1.0.1e-15.el6.x86_64

3.3、解压openssl_1.0.2l源码并编译安装

tar -zxvf openssl-1.0.1q.tar.gz

cd openssl-1.0.1q

./config --prefix=/usr --openssldir=/etc/ssl --shared zlib 

 

# make

 

# make test

                  

# make install

 

openssl version -a                  

#查看是否升级成功

3.4、恢复共享库

mv /usr/lib64/libcrypto.so.10.old /usr/lib64/libcrypto.so.10

mv /usr/lib64/libssl.so.10.old /usr/lib64/libssl.so.10

4、升级OpenSSH

 4.1、备份当前openssh

mv /etc/ssh /etc/ssh.old

4.2、卸载当前openssh

# rpm -qa | grep openssh

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

openssh-5.3p1-94.el6.x86_64

openssh-clients-5.3p1-94.el6.x86_64

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

# rpm -e --nodepsopenssh-askpass-5.3p1-94.el6.x86_64

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

 rpm -e --nodeps openssh-clients-5.3p1-94.el6.x86_64

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

 rpm-qa | grep openssh

4.3openssh安装前环境配置

install  -v -m700 -d /var/lib/sshd

chown  -v root:sys /var/lib/sshd

 groupadd -g 50 sshd

useradd  -c 'sshd PrivSep' -d /var/lib/sshd -g sshd -s /bin/false -u 50 sshd

4.4、解压openssh_7.5p1源码并编译安装

tar -zxvf openssh-6.6p1.tar.gz

 cd openssh-6.6p1

./configure --prefix=/usr  --sysconfdir=/etc/ssh --with-md5-passwords --with-pam  --with-zlib--with-openssl-includes=/usr --with-privsep-path=/var/lib/sshd

 make

 make install

4.5openssh安装后环境配置

 openssh编译目录执行如下命令
 install -v -m755    contrib/ssh-copy-id /usr/bin

 install -v -m644   contrib/ssh-copy-id.1 /usr/share/man/man1

 install -v -m755 -d /usr/share/doc/openssh-6.6p1

 install -v -m644   INSTALL LICENCE OVERVIEW README* /usr/share/doc/openssh-6.6p1

#验证是否升级成功
 ssh -V             

 4.6、启用OpenSSH服务

# openssh编译目录执行如下目录
 echo 'X11Forwarding yes' >> /etc/ssh/sshd_config

 echo "PermitRootLogin yes" >> /etc/ssh/sshd_config  

4.7允许root用户通过ssh登录

 echo "Allowusers root" >>/etc/ssh/sshd_config

 cp -p contrib/redhat/sshd.init /etc/init.d/sshd

chmod +x /etc/init.d/sshd

 chkconfig  --add  sshd

chkconfig sshd  on

 chkconfig  --list  sshd

 service sshd restart

4.9如果重启服务器后不能连,原因是受到selinux影响,解决办法是:

# vi /etc/selinux/config

修改 SELINUX=disabled

修改完成后使用xshellpetty进行重新远程登录,即可成功!