ubuntu下openssh升级_ubuntu configure error pam headers not found

1.安装zlib

tar xf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure --prefix=/usr/local/zlib
make
make install
---------------------------------报错-------------------------------------------

报错: c_zlib.c:25:19: fatal error: zlib.h: No such file or directory

zlib标准安装指导:

/usr/local/src/zlib-1.2.11

构建静态库

./configure
make test
make install

构建共享库

make clean
./configure --shared
make test
make install
cp zutil.h /usr/local/include
cp zutil.c /usr/local/include

2.升级openssl

tar xf openssl-1.0.2o.tar.gz
cd openssl-1.0.2o
./config shared zlib #一定要加上shared 参数,要不在安装openssh的时候就无法找到
make
make install

备份原来的openssl

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

因为源码安装默认安装的位置是 /usr/local/ssl 需要将创建软链接到系统位置

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

将openssl 的lib 库添加到系统

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

#使新添加的lib 被系统找到
ldconfig

查看openssl版本

openssl version -a

至此opensll 已经成功升级到1.0.2o

安装完之后使用curl,nodejs等命令如果报错,说明动态库方面调用有问题,报错如下
/usr/local/sbin/xxxx: /usr/local/lib/libssl.so.1.0.0: no version information available (required by /usr/local/sbin/xxxx)
/usr/local/sbin/xxxx: /usr/local/lib/libcrypto.so.1.0.0: no version information available (required by /usr/local/sbin/xxxx)
/usr/local/sbin/xxxx: /usr/local/lib/libcrypto.so.1.0.0: no version information available (required by /usr/local/lib/xxxx-server.so)
/usr/local/sbin/xxxx: /usr/local/lib/libcrypto.so.1.0.0: no version information available (required by /usr/local/lib/xxxx-radius.so)

到openssl解压目录下

vim openssl.ld
//文件内容
OPENSSL_1.0.0 {
global:
*;
};
make distclean

重新编译

./config shared zlib -Wl,–version-script=/usr/src/openssl-1.0.2o/openssl.ld -Wl,-Bsymbolic-functions
make
make install

重点:在这里分享一个遇到的的报错大坑,导致之后安装openssh的时候make install一直报错如下:

OpenSSL version mismatch. Built against 1000105f, you have 10001060

查了百度,google都没有找到解决方案,后来突然看到/etc/ld.so.conf里面是这样写的:

之前添加lib库的命令是这样的: echo “/usr/local/ssl/lib/” >> /etc/ld.so.conf

后来修改为:echo “/usr/local/ssl/lib” > /etc/ld.so.conf.d/openssl.conf

按道理说写到主文件应该也是生效的,不晓得为什么不生效,有待思考,有知道的大佬在下面指教一番,感谢!!!

3.升级openssh

到目前为上发现在的openssh的漏洞都是openssh7.4以前的版本。我们当前升级的是openssh7.7p1

备份原openssh文件

mv /etc/init.d/ssh /etc/init.d/ssh.old
cp -r /etc/ssh /etc/ssh.old

卸载原openssh

apt-get remove openssh-server openssh-client
tar xf openssh-7.7p1.tar.gz
cd openssh-7.7p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-ssl-dir=/usr/local/ssl --with-privsep-path=/var/lib/sshd #需要指定openssl的安装路径

---------------------------------报错-------------------------------------------

报错 checking whether OpenSSL’s PRNG is internally seeded… yes

configure: error: PAM headers not found

解决:ubuntu: apt-get install libpam0g-dev centos: yum -y install pam-devel


make
make install
---------------------------------报错-------------------------------------------------------------------

报错: Privilege separation user sshd does not exist

vim /etc/passwd
sshd❌74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

注册名:口令:用户标识号:组标识号:用户名:用户主目录:命令解释程序

/etc/passwd文件是Linux/UNIX安全的关键文件之一.该文件用于用户登录时校验 用户的口令,当然应当仅对root可写.

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数软件测试工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上软件测试开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注软件测试)
img

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

[外链图片转存中…(img-O0mCJcuj-1712990412012)]

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 20
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值