GVKun编程网logo

CentOS 升级 openSSH(centos升级openssh)

23

关于CentOS升级openSSH和centos升级openssh的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于Centons7.6升级openssl和openssh、CentOS5.8

关于CentOS 升级 openSSHcentos升级openssh的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于Centons7.6升级openssl和openssh、CentOS 5.8升级OpenSSH,OpenSSL到最新版、Centos 6.3 openssh升级、CentOS 6.5 升级 openssh等相关知识的信息别忘了在本站进行查找喔。

本文目录一览:

CentOS 升级 openSSH(centos升级openssh)

CentOS 升级 openSSH(centos升级openssh)

 升级前后对比

 

  openSSH作为linux远程连接工具,容易受到攻击,必须更新版本来解决,低版本有如下等漏洞:

 

           OpenSSH 远程代码执行漏洞(CVE-2016-10009)

                OpenSSH auth_password函数拒绝服务漏洞(CVE-2016-6515)

                OpenSSH 远程代码执行漏洞(CVE-2016-10009)

分享图片

 

 

 

升级前漏洞扫描和openSHH版本:

 

 

分享图片

分享图片

 

升级后漏洞扫描和openSHH版本:

 

分享图片

分享图片

 

 

 

 

主机系统centos7.3.1161升级openssh到当前最新版7.7p1以后使用root用户无法登陆,一直提示用户名密码错误(实际上用户名密码是对的)。下面对这个坑进行说明。

step 1 、升级前提说明:

1、升级OpenSSH后,原有公钥失效,信任关系需要重新配置;
2、升级过程需要停止sshd服务,会导致sshsftp无法使用;
3、升级OpenSSH影响的业务有:QDG同步、Mediation及现场自己写的同步脚本等;
4、升级需要关闭防火墙服务;
5、升级需要关闭selinux服务;
6、升级前需要开启telnet,防止升级失败,系统无法登录,对应的防火墙需要开启23端口,安装需要telnet相关包(推荐通过系统ISO安装)
7、升级过程中需要刷新lib库:ldconfig -v
8、升级顺序:顺序是zlib-> openssl -> openssh

9、升级需要gccmakeperlzlibzlib-develpampam-devel

step 2 、版本升级说明

zlib-1.2.3 > zlib-1.2.11
OpenSSL 1.0.1e > OpenSSL 1.0.2o

OpenSSH 5.3p1 > OpenSSH 7.7p1

step 3开启telnet(或者安装vnc

一、开启telnet

临时开启telnet服务,用于升级ssh,同时方总升级ssh过程中主机无法登录。

1、挂载操作系统镜像

2、安装ftp所需系统包

yum -y install xinetd telnet telnet-server

 

3、允许root用户通过telnet登陆:

编辑/etc/pam.d/login,注释掉下面这行

 

vi /etc/pam.d/login

#auth [user_unkNown=ignore success=ok ignore=ignore default=bad] pam_securetty.so

 

 

4、配置/etc/securetty

 

  先备份/etc/securetty文件:

 

cp /etc/securetty /etc/securetty.bak

       

  再配置

vi /etc/securetty

  添加超级用户登陆设备。

  添加超级用户登陆设备至/etc/securetty文件:

echo "pts/1" >> /etc/securetty
echo "pts/2" >> /etc/securetty
echo "pts/3" >> /etc/securetty
echo "pts/4" >> /etc/securetty
echo "pts/5" >> /etc/securetty
echo "pts/6" >> /etc/securetty

echo "pts/7" >> /etc/securetty

echo "pts/8" >> /etc/securetty

echo "pts/9" >> /etc/securetty
echo "pts/10" >> /etc/securetty

echo "pts/11" >> /etc/securetty

 

分享图片

 

5、开启root用户远程登陆

  编辑/etc/pam.d/remote,注释下列这行

vi /etc/pam.d/remote

#auth required pam_securetty.so

 

6、重启telnetxinetd服务【telnet服务依赖于xinetd服务】

 

systemctl start telnet.socket

systemctl start xinetd

PS:如果开启了防火墙,需要将23端口(系统默认23telnet端口)添加到防火墙允许的端口的列表中。

 

7、开启telnetxinetd开机自动启动

 

systemctl enable xinetd.service

systemctl enable telnet.socket

 

8、验证开机启动

 

systemctl list-unit-files |grep telnet

systemctl list-unit-files |grep xinetd

 

9、验证

telnet xxx.xxx.xx.xx

 

分享图片

 

 

二、安装vnc

 

参考https://www.cnblogs.com/kevingrace/p/5821450.html,根据自己的需要进行选择性操作,如果做了防火墙,会拦截vnc服务或端口,我这里是直接安装,在检验的时候,才去设置防火墙:

 

1)安装vnc


   yum update
   yum groupinstall "GNOME Desktop" "X Window System" "Desktop" 
   yum install tigervnc-server tigervnc vnc vnc-server

 

2)配置vnc连接

配置服务:


  cp /lib/systemd/system/[email protected] /etc/systemd/system/[email protected]:1.service


修改服务:

  vi /etc/systemd/system/[email protected]:1.service 


找到这一行
  ExecStart=/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
  PIDFile=/home/<USER>/.vnc/%H%i.pid

 

分享图片

 

这里直接用root 用户登录为例,(其他用户同理)

  进入编辑模式:

  i

  修改为:
    ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"
    PIDFile=/root/.vnc/%H%i.pid

  退出保存:

    Esc+:+wq

 

分享图片

 

VNC设密码(比如密码设置为123456
  vncpasswd

  123456

  123456

 

重加载 systemd


  systemctl daemon-reload

 

启动vnc


  systemctl enable [email protected]:1.service

  systemctl start [email protected]:1.service

 

3)检查vnc连接

 

1】通过端口检查

lsof -i:5901

 

分享图片

 

2】进程检查

ps -ef | grep Xvnc

 

分享图片

 

3】服务检查

systemctl status [email protected]:1.service

 

分享图片

 

 

4】桌面VNC_Viewer连接测试:在两个互通的主机之间测试

 

分享图片

前面三个检查都正常,但是在VNC_Viewer连接不上:很可能是防火墙的问题,现在就需要去设置防火墙(iptables或firewalld)了:

 

分享图片

 

 

 

1)iptables设置端口白名单:

vi /etc/sysconfig/iptables

-A INPUT -p tcp -m tcp --dport 5901 -j ACCEPT

service iptables restart

 

分享图片

 

 

2)关闭firewalld:

systemctl status firewalld

systemctl stop firewalld

 

 

分享图片

 

 

 

配置之后即可进行登录

 

分享图片

 

 

 

登录之后,打开终端,即可进行操作(与CRT 、Xshell类似):

 

 

 

分享图片

 

 

 

 

step 4、安装包准备

1、软件包下载地址:

 

zlib-1.2.11.tar.gz

 

http://www.zlib.net/

 

openssl-1.0.2o.tar.gz

 

https://www.openssl.org/source/

 

openssh-7.7p1.tar.gz

https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/

 

 

2、创建上传目录

mkdir -p /soft/zlib

mkdir -p /soft/openssl

mkdir -p /soft/openssh

3、bin模式上传介质

 

 

step 4、关闭防火墙和selinux

systemctl status firewalld.service

检查防火墙状态,如果在运行停掉。

systemctl stop firewalld.service

关闭开机自启动

systemctl disable firewalld

step 4 、验证selinux是否关闭

getenforce

已关闭

 

如果未关闭,关闭之

setenforce 0

 

上面只是临时关闭了,重启后不生效。下面改配置文件,使永久生效。

vi /etc/selinux/config

修改:

SELINUX=disabled

保存退出。

 

 

step 7、安装openssh升级依赖包

检查相关依赖包是否安装

rpm -qa | egrep "gcc|make|perl|zlib|zlib-devel|pam|pam-devel"

 

如果没有则安装

yum -y install gcc make perl zlib zlib-devel pam pam-devel

 

step 8、正式开始升级openssh

PStelnet登录操作,升级顺序:zlib-> openssl -> openssh

1停止sshd服务

检查

systemctl is-active sshd

停止

systemctl stop sshd

检查

systemctl is-active sshd

 

停止之后,无法用ssh维护了,可以通过vnc或者telnet维护

 

 

2卸载系统里原有Openssh

查看系统原有openssh

rpm -qa | grep openssh

 

yum remove MysqL-community-client MysqL-community-common MysqL-community-libs MysqL-community-libs-compat MysqL-community-server MysqL57-community-release

rm -rf /var/lib/MysqL  

rm /etc/my.cnf

 

根据上面查询出的结果,卸载系统里原有Openssh

rpm -e --nodeps ‘rpm -qa | grep openssh‘

 

rpm -e --nodeps ‘rpm -qa | grep MysqL‘

 

验证

rpm -qa | grep openssh

 

3、编译安装zlib

解压安装zlib

cd /soft/zlib

tar -xzvf zlib-1.2.11.tar.gz

cd zlib-1.2.11

./configure --prefix=/usr/local/zlib

make

make test

make install

验证zlib安装是否成功

ll /usr/local/zlib

要包含includelibshare上个目录。

 

新建并编辑配置文件:/etc/ld.so.conf.d/zlib.conf

vi /etc/ld.so.conf.d/zlib.conf

加入如下内容后保存退出

/usr/local/zlib/lib

刷新库文件

ldconfig -v,刷新库文件,加载刚才编译安装的zlib生成的库文件

ldconfig -v

4升级OpenSSL

进入安装包路径

cd /soft/openssl

解压安装openssl

tar -xzvf openssl-1.0.2o.tar.gz

编译openssl

cd openssl-1.0.2o

./config shared zlib

make

make test

make install

重命名现有文件目录

mv /usr/bin/openssl /usr/bin/openssl.bak

创建ssl相关软连接

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

ln -s /usr/local/ssl/include/openssl /usr/include/openssl

编辑配置文件/etc/ld.so.conf.d/ssl.conf

vi /etc/ld.so.conf.d/ssl.conf

加入如下内容后保存退出

/usr/local/ssl/lib

刷新库文件

ldconfig -v,刷新库文件,加载刚才编译安装的ssl生成的库文件

ldconfig -v

查看openssl版本

openssl version -a

 

5、升级OpenSSH

重命名原有配置文件

mv /etc/ssh /etc/ssh.bak

解压openssh

cd /soft/openssh

tar -xzvf openssh-7.7p1.tar.gz

cd openssh-7.7p1

./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/ssl --mandir=/usr/share/man --with-zlib=/usr/local/zlib

上面为一行。

make

make install

 

6验证openssh版本

(启动后)升级前

ssh -V

 

(没启动)升级后

/usr/local/openssh/bin/ssh -V

 

 

7设置sshd服务开机自动启动

拷贝配置文件

cp /soft/openssh/openssh-7.7p1/contrib/redhat/sshd.init /etc/init.d/sshd

 

cp /home/ecmp/temp/openssh-7.7p1/contrib/redhat/sshd.init /etc/init.d/sshd

 

修改配置文件权限

chmod u+x /etc/init.d/sshd

添加sshd服务

chkconfig --add sshd

验证开机启动

chkconfig --list|grep sshd

 

 

8、设置 ssh -V验证码版本

替换配置文件

cp /soft/openssh/openssh-7.7p1/sshd_config /etc/ssh/sshd_config

cp /home/ecmp/temp/openssh-7.7p1/sshd_config /etc/ssh/sshd_config

 

编辑sshd_config文件

subsystem sftp路径变更为实际路径/usr/local/openssh/libexec/sftp-server

vi /etc/ssh/sshd_config

#Subsystem      sftp    /usr/libexec/sftp-server

注释掉,换为如下一句:

Subsystem      sftp   /usr/local/openssh/libexec/sftp-server

 

 

拷贝命令

cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd

sshd命令至/usr/bin/

cp /usr/local/openssh/bin/ssh /usr/bin/

检查版ssh

ssh -V

 

9、密码认证和允许root用户远程直接登录

拷贝ssh-keygen

cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen

修改配置文件/etc/ssh/sshd_config

vi /etc/ssh/sshd_config

#PasswordAuthentication yes 行取消注释

PasswordAuthentication yes

并下面添加

PermitRootLogin yes

 

 

 

PS:如果不允许root用户远程直接登录,这里配置为PermitRootLogin no

10重启sshd服务

启动

service sshd restart

 

11、验证sshd是否有效

1)验证服务

systemctl is-active sshd

启动后

 

启动前

 

2查看22端口监听

netstat -an |grep LISTEN|grep :22

启动前

 

启动后

 

3)直接CRT登录

启动前

 

启动后

 

4)互通之前跳转

启动前,无法用ssh维护了,可以通过vnc或者telnet维护

 

启动后

 

5本地登录测试

ssh [email protected]

 

 

 

 

1】Root用户

[[email protected] openssh-7.7p1]# ssh [email protected]

The authenticity of host ‘192.168.43.211 (192.168.43.211)‘ can‘t be established.

ECDSA key fingerprint is SHA256:ri3JqvmpBItq8Ezz03Tzsom4oHs40pdsPLb+X9KyvMY.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added ‘192.168.43.211‘ (ECDSA) to the list of kNown hosts.

[email protected]‘s password:

Last login: Sat Aug  4 05:19:42 2018 from ::ffff:192.168.43.212

 

使用root用户登录,正常,则成功报错(一次性通过,未遇到报错,报错的请自己验证),

【2】普通用户

[email protected][/data/openssh]#ssh [email protected]
[email protected]‘s password: 
Last login: Sat May 19 12:24:33 2018 from 192.168.254.36

[email protected][/home/wufan]$

是可以的。

下面修改:

vi /etc/init.d/sshd

$SSHD $OPTIONS && success || failure这句话前面加一句:

OPTIONS="-f /etc/ssh/sshd_config"

配置如下:

  1. echo -n $"Starting $prog:"
  2. OPTIONS="-f /etc/ssh/sshd_config"
  3. $SSHD $OPTIONS && success || failure
  4. RETVAL=$?

保存退出。

重启sshd服务:

systemctl restart sshd

再次登录就可以了。

 

 

Vnc重加载报错(Unregistered Authentication Agent for unix-process):

错误展示

Job for [email protected]:1.service Failed because the control process exited with error code. See "systemctl status [email protected]:1.service" and "journalctl -xe" for details.

 

 

运行它给出的两个命令,发现详情如下

 

通过下面这句话我们分析得知,是未有效注册:

Unregistered Authentication Agent for unix-process:82157:287486490 (system bus name :1.11897,object path /org/freedesktop/PolicyKit1/Authen

 

解决方法

 

解决办法就是VNC设密码(比如密码设置为123456):

vncpasswd

 

重加载启动:

重加载 systemd

 

systemctl daemon-reload

 

vnc服务生效

 

systemctl enable [email protected]:1.service

 

 

启动vnc

systemctl start [email protected]:1.service

 

 

 

 

 

vi /etc/ssh/sshd_config

Subsystem      sftp   /home/ecmp/temp/openssh-7.7p1/sftp-server

Centons7.6升级openssl和openssh

Centons7.6升级openssl和openssh

安装需注意
在安装时需要卸载OpenSSH,卸载后除当前打开窗口外,不在接受新的SSH连接。

可以安装Telnet,通过Telnet代替SSH连接,直到升级完毕再关闭Telnet

查看操作系统版本

lsb_release -a

输入后会显示下面这些信息,我的版本号是7.6.1810

lsb_release -aLSB Version: :core-4.1-amd64:core-4.1-noarch

distributor ID: CentOS

Description: CentOS Linux release 7.6.1810 (Core)

Release: 7.6.1810

Codename: Core

查询当前版本

ssh -V

openssl version

下载安装包

wget https://www.openssl.org/source/openssl-1.1.1l.tar.gz

wget
https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-8.6p1.tar.gz

卸载openssh和openssl

yum remove openssl openssl-devel openssh -y

安装顺序,先安装openssl,后安装openssh

openssl安装
安装依赖

yum install gcc perl zlib zlib-devel -y

编译安装

tar -zxvf openssl-1.1.1l.tar.gz

cd openssl-1.1.1l

./config shared zlib --prefix=/usr/local/openssl
–openssldir=/usr/local/openssl/ssl

make

make install

配置

echo “/usr/local/openssl/lib” >> /etc/ld.so.conf

ldconfig -v

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

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

查看版本

openssl version

接下来安装openssh

安装依赖

yum -y install pam-devel

编译安装

tar -zxvf openssh-8.6p1.tar.gz

cd openssh-8.6p1

./configure --prefix=/usr --sysconfdir=/etc/ssh
–with-openssl-includes=/usr/local/openssl/include/ --with-ssl-dir=/usr/local/openssl --with-zlib --with-md5-passwords–with-pam

make

make install

配置

echo “PermitRootLogin yes” >> /etc/ssh/sshd_config

echo “UsednS no” >> /etc/ssh/sshd_config

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

chmod +x /etc/init.d/sshd

chkconfig --add sshd

systemctl enable sshd

chkconfig sshd on

chmod 600 /etc/ssh/ssh_host_rsa_key

chmod 600 /etc/ssh/ssh_host_ecdsa_key

/etc/init.d/sshd restart

查看版本

ssh -V

OpenSSH_8.6p1, OpenSSL 1.1.1l 24 Aug 2021

升级完成

CentOS 5.8升级OpenSSH,OpenSSL到最新版

CentOS 5.8升级OpenSSH,OpenSSL到最新版

因业务系统安全要求需要升级OpenSSH版本到最新版。原有CentOS 5.8系统自带版本如下。

[root@localhost ~]# lsb_release -a
LSB Version:	:core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-ia32:pri
nting-4.0-noarchdistributor ID:	CentOS
Description:	CentOS release 5.8 (Final)
Release:	5.8
Codename:	Final
[root@localhost ~]# ssh -V
OpenSSH_4.3p2,OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008

升级版本:

经过多次验证最终确定使用ssh最新版本openssh-7.3p1和openssl 0.9.8的最终版本openssl-0.9.8zg(CentOS 5.8安装openssl的1.x版本有很多问题,不建议使用)。而且openssh-7.3p1最低要求openssl 0.9.8f。

openssl-0.9.8zg并不涉及OpenSSLCVE-2014-0160漏洞 (心脏出血漏洞)。目前有漏洞的版本有:1.0.1-1.0.1f(包含1.0.1f)以及1.0.2-beta。参考:https://segmentfault.com/a/1190000000461002

安装编译环境

yum -y install gcc openssl-devel pam-devel rpm-build

步骤1:开启telnet服务已确保ssh升级失败可以控制主机

安装并开启telnet服务。

[root@localhost ~]# yum install -y xinetd telnet-server
[root@localhost ~]# vim /etc/xinetd.d/krb5-telnet 
# default: off
# description: The kerberized telnet server accepts normal telnet sessions,\
#              but can also use Kerberos 5 authentication.
service telnet
{
        flags           = REUSE
        socket_type     = stream        
        wait            = no
        user            = root
        server          = /usr/kerberos/sbin/telnetd
        log_on_failure  += USERID
        disable         = no #修改disable为no,默认为yes,即禁用telnet服务。修改为no,即表示启用telnet服务
}
[root@localhost ~]# service xinetd restart
[root@localhost ~]# netstat -tnlp | grep :23
tcp        0      0 0.0.0.0:23                  0.0.0.0:*                   LISTEN      -

Telnet是不能以root直接登陆的,需要提前建立一个普通用户并设置密码。以普通用户登录后再su切换root,SSH升级成功后,记得关闭telnet服务。

[root@localhost ~]# useradd meng
[root@localhost ~]# passwd meng

通过其他服务器测试telnet登录保证可以使用。确保防火墙允许telnet服务,即打开23端口。

[root@localhost ~]# telnet 192.168.1.10
Trying 192.168.1.10...
Connected to 192.168.1.10 (192.168.1.10).
Escape character is '^]'.
    localhost.localdomain (Linux release 2.6.18-308.el5 #1 SMP Tue Feb 21 20:06:06 EST 2012) (2)
login: meng
Password:

一切就绪,准备开始。

步骤2:安装新版openssl

生成openssl-0.9.8zg RPM包

[root@localhost x86_64]# cd /opt
[root@localhost x86_64]# wget https://www.openssl.org/source/openssl-0.9.8zg.tar.gz
[root@localhost x86_64]# cp openssl-0.9.8zg.tar.gz /usr/src/redhat/SOURCES/
[root@localhost x86_64]# tar xvf openssl-0.9.8zg.tar.gz
[root@localhost x86_64]# cp openssl-0.9.8zg/openssl.spec /usr/src/redhat/Specs/
[root@localhost x86_64]# rpmbuild /usr/src/redhat/Specs/openssl.spec
[root@localhost x86_64]# cd /usr/src/redhat/RPMS/x86_64/
[root@localhost x86_64]# ls openssl* -l
-rw-r--r-- 1 root root 1279018 Nov  6 01:01 openssl-0.9.8zg-1.x86_64.rpm
-rw-r--r-- 1 root root  113834 Nov  6 01:01 openssl-debuginfo-0.9.8zg-1.x86_64.rpm
-rw-r--r-- 1 root root 2237915 Nov  6 01:01 openssl-devel-0.9.8zg-1.x86_64.rpm
-rw-r--r-- 1 root root  607823 Nov  6 01:01 openssl-doc-0.9.8zg-1.x86_64.rpm

安装openssl,安装时需要使用--nodeps选项,否则会报很多软件包的依赖错误“libcrypto.so.6 is needed by (installed) openldap-2.3.43-3.el5.i386”等等。

rpm --nodeps -Uvh openssl-0.9.8zg-1.i386.rpm openssl-devel-0.9.8zg-1.i386.rpm

安装后会导致yum等无法使用,提示“libcrypto.so.0.9.8 is not a symbolic link”或“libssl.so.6 is not a symbolic link”。需要执行以下命令增加链接库的软链接。

ln -s /usr/lib/libcrypto.so.0.9.8 /usr/lib/libcrypto.so.6
ln -s /usr/lib/libssl.so.0.9.8 /usr/lib/libssl.so.6
ln -s /usr/lib/libcrypto.so.0.9.8 /usr/lib64/libcrypto.so.6
ln -s /usr/lib/libssl.so.0.9.8 /usr/lib64/libssl.so.6

此时执行ssh -V会提示“ssh: symbol lookup error: ssh: undefined symbol: FIPS_mode”错误。继续安装ssh新版本即可。

步骤3:安装新版openssh

下载并编译opensshRPM包。下载地址:http://openbsd.hk/pub/OpenBSD/OpenSSH/portable/,选择最新版下载。

[root@localhost ~]# cd /opt
[root@localhost ~]# yum -y install libX11-devel libXt-devel gtk2-devel
[root@localhost ~]# wget http://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-7.3p1.tar.gz
[root@localhost ~]# tar zxvf openssh-7.3p1.tar.gz
[root@localhost ~]# cp openssh-7.3p1/contrib/redhat/openssh.spec /usr/src/redhat/Specs/
[root@localhost ~]# cp openssh-7.3p1.tar.gz /usr/src/redhat/SOURCES/
[root@localhost ~]# cd /usr/src/redhat/Specs
[root@localhost ~]# perl -i.bak -pe 's/^(%define no_(gnome|x11)_askpass)\s+0$/$1 1/' openssh.spec
[root@localhost ~]# rpmbuild -bb openssh.spec
[root@localhost ~]# cd /usr/src/redhat/RPMS/x86_64
[root@localhost x86_64]# ls openssh-* -l
-rw-r--r-- 1 root root 737241 Nov  6 01:41 openssh-7.3p1-1.x86_64.rpm
-rw-r--r-- 1 root root  43458 Nov  6 01:41 openssh-askpass-7.3p1-1.x86_64.rpm
-rw-r--r-- 1 root root  22868 Nov  6 01:41 openssh-askpass-gnome-7.3p1-1.x86_64.rpm
-rw-r--r-- 1 root root 933212 Nov  6 01:41 openssh-clients-7.3p1-1.x86_64.rpm
-rw-r--r-- 1 root root  16799 Nov  6 01:41 openssh-debuginfo-7.3p1-1.x86_64.rpm
-rw-r--r-- 1 root root 456630 Nov  6 01:41 openssh-server-7.3p1-1.x86_64.rpm
[root@localhost x86_64]# rpm -Uvh openssh-7.3p1-1.x86_64.rpm openssh-askpass-7.3p1-1.x86_64.rpm openssh-server-7.3p1-1.x86_64.rpm openssh-clients-7.3p1-1.x86_6
4.rpm

安装后查看版本。

[root@localhost x86_64]# ssh -V
OpenSSH_7.3p1,OpenSSL 0.9.8zg 11 Jun 2015

新版本安装后默认禁止root远程登录需要修改sshd配置文件。修改后重启ssh服务。

[root@localhost x86_64]# vim /etc/ssh/sshd_config
#LoginGraceTime 2m
PermitRootLogin yes  #去掉注释
#StrictModes yes
#MaxAuthTries 6
[root@localhost x86_64]# service sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]

测试远程登录,yum等。远程登录成功后关闭telnet服务。

如果还有其他服务器需要升级。直接安装RPM即可。

[root@localhost opt]# ls
openssh-askpass-gnome-7.3p1-1.x86_64.rpm  openssh-server-7.3p1-1.x86_64.rpm       openssl-devel-0.9.8zg-1.x86_64.rpm
openssh-7.3p1-1.x86_64.rpm          openssh-clients-7.3p1-1.x86_64.rpm        openssl-0.9.8zg-1.x86_64.rpm            openssl-doc-0.9.8zg-1.x86_64.rpm
openssh-askpass-7.3p1-1.x86_64.rpm  openssh-debuginfo-7.3p1-1.x86_64.rpm      openssl-debuginfo-0.9.8zg-1.x86_64.rpm
[root@localhost opt]# rpm --nodeps -Uvh openssl*
Preparing...                ########################################### [100%]
   1:openssl                ########################################### [ 25%]
   2:openssl-debuginfo      ########################################### [ 50%]
   3:openssl-devel          ########################################### [ 75%]
   4:openssl-doc            ########################################### [100%]
[root@localhost opt]# ln -s /usr/lib/libcrypto.so.0.9.8 /usr/lib/libcrypto.so.6
[root@localhost opt]# ln -s /usr/lib/libssl.so.0.9.8 /usr/lib/libssl.so.6
[root@localhost opt]# ln -s /usr/lib/libcrypto.so.0.9.8 /usr/lib64/libcrypto.so.6
[root@localhost opt]# ln -s /usr/lib/libssl.so.0.9.8 /usr/lib64/libssl.so.6
[root@localhost opt]# rpm --nodeps -Uvh openssh-*
Preparing...                ########################################### [100%]
   1:openssh                ########################################### [ 17%]
   2:openssh-askpass        ########################################### [ 33%]
   3:openssh-askpass-gnome  ########################################### [ 50%]
   4:openssh-clients        ########################################### [ 67%]
   5:openssh-debuginfo      ########################################### [ 83%]
   6:openssh-server         ########################################### [100%]
[root@localhost opt]# vim /etc/ssh/sshd_config 
#PermitRootLogin prohibit-password #禁用
PermitRootLogin yes #允许root通过密码登录
[root@localhost opt]# service sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]
[root@localhost opt]# ssh -V
OpenSSH_7.3p1,OpenSSL 0.9.8zg 11 Jun 2015

RPM包下载地址:链接:http://pan.baidu.com/s/1eR7438e 密码:ugii

本文参考以下blog,经过亲自测试整理。

http://blog.chinaunix.net/uid-6984-id-5120601.html

http://hxl2009.blog.51cto.com/779549/1035652

Centos 6.3 openssh升级

Centos 6.3 openssh升级

Centos 6.3 openssh升级(安全漏洞修复)

方法/步骤

注意:先多开几个crt客户端,就算过程中ssh安装失败,也还可以操作服务器,不会中断

1 准备

(1)下载安装包

https://www.openssl.org/source/openssl-1.0.2l.tar.gz

https://mirrors.evowise.com/pub/OpenBSD/OpenSSH/portable/openssh-7.5p1.tar.gz

(2)安装包

yum -y install gcc* make perl pam pam-devel zlib zlib-devel

2 升级openssl

(1)备份当前openssl文件

find / -name openssl

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

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

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

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

(2)卸载当前openssl

rpm -e `rpm -qa | grep openssl` --nodeps

rpm -qa | grep openssl

(3)进入解压的文件目录并编译安装

cd openssl-1.0.2k

编译文件

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

make

make install

查看是否升级成功

openssl version -a

==============================================

3 升级openssh

(1)停止当前ssh服务,并备份

service sshd stop---停止服务

mv /etc/ssh /etc/ssh.old----备份服务

(2)查询并卸载openssh

先卸载完旧版本的openssh

rpm -e `rpm -qa | grep openssh` --nodeps (yumremove openssh* -y)

cd openssh-7.5p1

编译

./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam--with-ssh1 --with-zlib


--with-openssl-includes=/usr--with-privsep-path=/var/lib/sshd

make

make install

(3)安装后环境配置

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

chmod +x /etc/init.d/sshd

chkconfig --add sshd

chkconfig --list |grep sshd

chkconfig sshd on

service sshd start

ssh -V

出现如下提示说明ssh升级成功,现在的openssh版本为OpenSSH_7.5p1,openssl版本为OpenSSL 1.0.2k

----------------------------------------------------------

vim /etc/ssh/sshd_config

添加PermitRootLogin yes

到文件末尾

service sshd restart

4 若失败,可以重新安装OpenSSH

CentOS 6 安装OpenSSH Server

yum install openssh-server

yum -y install openssh-clients

chkconfig --list sshd

chkconfig sshd on

/etc/init.d/sshd start

CentOS 6.5 升级 openssh

CentOS 6.5 升级 openssh

    最近有空复习了一下 Linux,在虚拟机上安装了个 CentOS6.5,顺便升级一下系统自带的 openssh,任何系统操作都有风险,正式环境请做好备份工作。废话少说,直接贴代码。

    1、准备工作,相应的包自己到官方下载,另外需要下载依赖包 openssl 以及 zlib 包。

    openssh 下载地址:http://www.openssh.com/portable.html#http

    openssl 下载地址:http://www.openssl.org/source/

    zlib 下载地址:http://zlib.net/zlib-1.2.8.tar.gz

    

    2、卸载系统自带的 openssh,卸载之前先停止 sshd 服务,再用 rpm 删除,同时清除系统 /etc/ssh 目录

[root@CentOS tmp]# service sshd stop
Stopping sshd:                                             [  OK  ] 
[root@CentOS tmp]# rpm -qa openssh
openssh-5.3p1-94.el6.x86_64
[root@CentOS tmp]# rpm -e openssh-server
[root@CentOS tmp]# rpm -e openssh-clients
[root@CentOS tmp]# rpm -e openssh-askpass
[root@CentOS tmp]# rpm -e openssh
[root@CentOS tmp]# rm -rf /etc/ssh

    3、安装 zlib

[root@CentOS tmp]# tar -xvf zlib-1.2.8.tar.gz 
[root@CentOS tmp]# cd zlib-1.2.8
[root@CentOS zlib-1.2.8]# ./configure --prefix=/usr/local/zlib && make && make install

    4、安装 openssl

[root@CentOS tmp]# tar -xvf openssl-1.0.1i.tar.gz 
[root@CentOS tmp]# cd openssl-1.0.1i
[root@CentOS openssl-1.0.1i]# ./config --prefix=/usr/local/openssl && make && make install

    5、安装 openssh

[root@CentOS tmp]# tar -xvf openssh-6.6p1.tar.gz
[root@CentOS tmp]# cd openssh-6.6p1
[root@CentOS openssh-6.6p1]# ./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

    6、修改配置文件

[root@CentOS openssh-6.6p1]# cp contrib/redhat/sshd.init /etc/init.d/sshd
[root@CentOS openssh-6.6p1]# chmod +x /etc/init.d/sshd 
[root@CentOS openssh-6.6p1]# vi /etc/init.d/sshd
修改对应指令的安装目录
=============================
25行    SSHD=/usr/sbin/sshd 为 SSHD=/usr/local/openssh/sbin/sshd
41行    /usr/bin/ssh-keygen -A 为 /usr/local/openssh/bin/ssh-keygen -A
=============================
保存退出

    7、加入到系统服务

[root@CentOS openssh-6.6p1]# chkconfig --add sshd
[root@CentOS openssh-6.6p1]# service sshd start

    8、编译中遇到的错误,参考博文 http://zjwsk.blog.163.com/blog/static/598306132014313112351/,感谢博主的分享

configureerror: *** Can''t find recent OpenSSL libcrypto (see config.log for details) ***

我们今天的关于CentOS 升级 openSSHcentos升级openssh的分享已经告一段落,感谢您的关注,如果您想了解更多关于Centons7.6升级openssl和openssh、CentOS 5.8升级OpenSSH,OpenSSL到最新版、Centos 6.3 openssh升级、CentOS 6.5 升级 openssh的相关信息,请在本站查询。

本文标签: