内容简介:centOS 7.x 及以下自带的 openSSH 版本基本都在7.x 以下。而 openSSH 7.3 以下的版本均存在高危漏洞。所以服务器升级 openSSH 就成了一件必做的事情。Zlib 官方网站:http://www.zlib.net/这样,就把 zlib 编译安装在
centOS 7.x 及以下自带的 openSSH 版本基本都在7.x 以下。而 openSSH 7.3 以下的版本均存在高危漏洞。所以服务器升级 openSSH 就成了一件必做的事情。
1、查看当前系统信息
1.1、查看当前系统版本
[root@localhost src]# cat /etc/redhat-release CentOS Linux release 7.0.1406 (Core) [root@localhost src]# uname -m x86_64 [root@localhost src]# uname -r 3.10.0-693.el7.x86_64
1.2、SSL版本信息
[root@localhost src]# openssl version OpenSSL 1.0.2k-fips 26 Jan 2017
2、更新/安装 zlib
2.1、下载最新版本 Zlib
Zlib 官方网站:http://www.zlib.net/
cd /usr/src/ wget http://www.zlib.net/zlib-1.2.11.tar.gz
2.2、编译安装 Zlib
tar xzvf zlib-1.2.11.tar.gz cd zlib-1.2.11 ./configure --prefix=/usr/local/zlib make make install
这样,就把 zlib 编译安装在 /usr/local/zlib
中了。
3、安装pam-devel
3.1 下载最新版本pam-devel
pam-devel官方下载网站: https://pkgs.org/download/pam-devel
cd /usr/src/ wget http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/x86_64/RPMS.classic//libpam0-devel-1.3.1.0.5.955b-alt2.x86_64.rpm
3.2 rpm安装pam-devel
rpm -ivh libpam0-devel-1.3.1.0.5.955b-alt2.x86_64.rpm
4、安装 OpenSSL
4.1、下载最新版本的 openssl 和 openssl-fips
打开 OpenSSL 的官方网站下载:https://www.openssl.org/source/
cd /usr/src/ wget https://www.openssl.org/source/openssl-1.0.2o.tar.gz wget https://www.openssl.org/source/openssl-fips-2.0.16.tar.gz
4.2、编译安装 openssl-fips
[root@localhost src]# tar -xzvf openssl-fips-2.0.16.tar.gz [root@localhost src]# cd openssl-fips-2.0.16 [root@localhost openssl-fips-2.0.16]# ./config && make && make install
默认安装到 /usr/local/ssl/fips-2.0
4.3、编译安装 openssl
[root@localhost src]# tar -xzvf openssl-1.0.2o.tar.gz [root@localhost openssl-1.0.2o]# cd openssl-1.0.2o [root@localhost openssl-1.0.2o]# ./config --prefix=/usr/ --shared zlib
或者
[root@localhost openssl-1.0.2o]# ./config --prefix=/usr/ --shared fips
注意:必须加上–shared,否则编译时会找不到新安装的 openssl 的库而报错
[root@localhost openssl-1.0.2o]# make [root@localhost openssl-1.0.2o]# make test
提示:这一步很重要!是进行 SSL加密协议的完整测试,如果出现错误就要一定先找出哪里的原因,否则一味继续可能导致最终 SSH 不能使用,后果很严重!
[root@localhost openssl-1.0.2o]# make install
或者安装升级 openssl 的方式采用如下步骤:
$ tar xf openssl-1.0.1o.tar.gz $ cd openssl-1.0.1o $ ./config shared zlib $ make && make install # 备份旧的 openssl $ mv /usr/bin/openssl /usr/bin/openssl.bak $ mv /usr/include/openssl /usr/include/openssl.bak # 软链接 $ ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl $ ln -s /usr/local/ssl/include/openssl /usr/include/openssl $ echo "/usr/local/ssl/lib" >> /etc/ld.so.conf $ ldconfig -v
4.4、查看是否升级成功
$ openssl version OpenSSL 1.0.2o 27 Mar 2018
5、安装 OpenSSH
5.1、下载最新软件包源码
官方下载地址 http://www.openssh.com/portable.html#http
cd /usr/src wget http://mirrors.evowise.com/pub/OpenBSD/OpenSSH/portable/openssh-7.7p1.tar.gz
5.2、备份当前 openssh
[root@localhost src]# mv /etc/ssh /etc/ssh.old
5.3、卸载当前 openssh
[root@localhost src]# rpm -qa | grep openssh openssh-clients-6.4p1-8.el7.x86_64 openssh-server-6.4p1-8.el7.x86_64 openssh-6.4p1-8.el7.x86_64 [root@localhost src]# rpm -e --nodeps openssh-clients-6.4p1-8.el7.x86_64 [root@localhost src]# rpm -e --nodeps openssh-server-6.4p1-8.el7.x86_64 [root@localhost src]# rpm -e --nodeps openssh-6.4p1-8.el7.x86_64 [root@localhost src]# rpm -qa | grep openssh
5.4、安装openssh
[root@localhost src]# tar -xzvf openssh-7.7p1.tar.gz [root@localhost src]# cd openssh-7.7p1 编译(同时兼容ssh1协议) [root@localhost openssh-7.7p1]# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-ssh1 [root@localhost openssh-7.7p1]# make && mak install
5.5、安装后环境配置
[root@localhost openssh-7.7p1]# cp ./contrib/redhat/sshd.init /etc/init.d/sshd [root@localhost openssh-7.7p1]# chmod +x /etc/init.d/sshd [root@localhost openssh-7.7p1]# chkconfig --add sshd
修改 /etc/ssh/sshd_config
文件,添加 PermitRootLogin yes
到文件 /etc/ssh/sshd_config
的末尾:
$ echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config $ cat /etc/ssh/sshd_config
5.6、启动ssh服务
service sshd start
5.7、验证是否升级成功
$ ssh -V OpenSSH_7.7p1, OpenSSL 1.0.2m 2 Nov 2017 (升级成功)
注意:
-
记得关闭防火墙:
systemctl stop firewalld
-
记得关闭
SELinux
:
1、临时关闭(不用重启机器)
setenforce 0 ##设置SELinux 成为permissive模式 ##setenforce 1 设置SELinux 成为enforcing模式
2、修改配置文件需要重启机器
修改 /etc/selinux/config
文件,将 SELINUX=enforcing
改为 SELINUX=disabled
5.8、修改 ssh 默认 22 端口
公开的 22 端口可被遍历扫描。我们可以修改默认端口。步骤参考如下。
首先修改配置文件
vi /etc/ssh/sshd_config
找到 #Port 22
一段,这里是标识默认使用22端口,修改为如下:
Port 22 Port 50000
然后保存退出。50000 为修改后的端口,可自定义一个,一定要记住,否则后续连接不上就麻烦了。
重启 ssh。执行:
/etc/init.d/sshd restart
此时 SSH 端口将同时工作于 22 和 50000 上
编辑防火墙配置,启用50000端口:
vi /etc/sysconfig/iptables # 在末尾添加如下内容 -A INPUT -p tcp -m tcp --dport 2222 -j ACCEPT
再次重启 ssh:
/etc/init.d/iptables restart
现在请使用ssh工具连接 50000 端口,来测试是否成功。如果连接成功了,则再次编辑 sshd_config
的设置,将里边的 Port22
删除,然后再重启一下 ssh 即可。
注意:
如果此时 ssh 工具连接提示 找不到匹配的host key算法
而无法连接,可尝试如下方法(删除 ssh_host 前缀的文件,然后重启 ssh 生成新的):
mkdir /etc/ssh/ssh_host_bak mv /etc/ssh/ssh_host_* /etc/ssh/ssh_host_bak /etc/init.d/sshd restart
相关链接
- https://blog.csdn.net/oujuan9812/article/details/80416392
- http://www.zlib.net/
- https://pkgs.org/download/pam-devel
- https://www.openssl.org/source/
以上所述就是小编给大家介绍的《linux centOS 下编译升级 openSSH 详细步骤参考》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Mac 下编译 Hadoop
- Mac下编译libcurl静态库
- 在centos环境下编译安装myrocksdb
- Windows下编译 Hadoop-2.9.2
- 在Windows下编译Hadoop源码的方法
- Windows下编译Caffe并编译Matlab接口
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
禅与摩托车维修艺术
(美)罗伯特·M.波西格 / 张国辰 / 重庆出版社 / 2011-9 / 36.00元
在一个炎热的夏天,父子两人和约翰夫妇骑摩托车从明尼苏达到加州,跨越美国大陆,旅行的过程与一个青年斐德洛研修科学技术与西方经典,寻求自我的解脱,以及探寻生命的意义的过程相互穿插。一路上父亲以一场哲学肖陶扩的形式,将见到的自然景色,野外露营的经历,夜晚旅店的谈话,机车修护技术等等日常生活与西方从苏格拉底以来的理性哲学的深入浅出的阐述与评论相结合,进行了对形而上学传统的主客体二元论的反思,以及对科学与艺......一起来看看 《禅与摩托车维修艺术》 这本书的介绍吧!