编译安装openssh7.8p1

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编译安装openssh7.8p1相关的知识,希望对你有一定的参考价值。

oenssh 编译安装升级步骤l
前段时间因为要修复openssh的漏洞,官方说法是升级openssh,所以就选择了升级到 openssh-7.8p1 ,升级openssh连带要升级openssl。
漏洞信息:
OpenSSH 用户枚举漏洞(CVE-2018-15919)
操作系统:
Red Hat Enterprise Linux Server release 7.3
软件包:
openssh-7.8p1
openssl-1.0.2p
(openssl不可以选用1.1.X 版本,否则openssh编译时会报错)

关闭selinux
vim /etc/sysconfig/selinux
修改 SELINUX=disabled

一、升级之前必须把telnet开起来,防止意外导致ssh无法连接 //
yum install -y telnet-server
yum install -y xinetd

systemctl enable xinetd.service
systemctl enable telnet.socket
systemctl start telnet.socket
systemctl start xinetd

默认情况下,系统是不允许root用户telnet远程登录的。如果要使用root用户直接登录,需设置如下内容:

echo ‘pts/0‘ >>/etc/securetty
echo ‘pts/1‘ >>/etc/securetty

service xinetd restart ####重启服务

验证登录
telnet 127.0.0.1

二、升级openssl
升级前的版本
上传程序包到服务器
安装依赖包: //一定要安装
yum -y install xinetd telnet-server pam pam-devel zlib-static zlib-deve
卸载旧版程序:
rpm -e --nodeps rpm -qa|grep openss
rpm –qa |grp opens //检查卸载干净没有
解压缩:
tar -zxvf openssl-1.0.2l.tar.gz
进入解压路径:
cd openssl-1.0.2l
编译安装:
./config --prefix=/usr --shared && make && make install
创建软链接:
ln -s /usr/lib64/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so.10
ln -s /usr/lib64/libssl.so.1.0.0 /usr/lib64/libssl.so.10
验证版本信息:
openssl version -a

openssl升级完成。
三、升级openssh
备份旧ssh配置文件 /etc/ssh :
mv /etc/ssh/ /home/ssh-bak

解压:
tar -zxvf openssh-7.8p1.tar.gz
进入解压路径:
cd openssh-7.8p1
编译安装:
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords
make && make install
复制pam的头文件:
cp contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
(这里的pam其实是没有启用的,所以这一步可以省略,在sshd_config中如果开启pam会出现无法连接的情况,这个问题有待研究)

复制启动脚本:
cp contrib/redhat/sshd.init /etc/init.d/sshd
设置开机启动:
chkconfig sshd on

编辑ssh配置文件:
vim /etc/ssh/sshd_config
取消注释 PasswordAuthentication yes
验证版本信息:
ssh -V

重启ssh服务
systemctl reload sshd.service //不要用restart 肯导致断开连接
netstat –tunlp |grep ssh //查看端口起来没有
ssh连接测试
ssh IP –p端口

以上是关于编译安装openssh7.8p1的主要内容,如果未能解决你的问题,请参考以下文章

是否可以动态编译和执行 C# 代码片段?

Notepad++编辑器——Verilog代码片段直接编译

导致资产预编译在heroku部署上失败的代码片段

如何有条件地将 C 代码片段编译到我的 Perl 模块?

损坏的顶点和片段着色器

在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途