centos7升级openssh7.4到8.1

由于公司做三级等级保护  需要升级openssh版本  完整升级脚本在最后。拷贝黏贴就行

请注意 升级openssh之后可能对线上的ulimit -n 造成影响,小伙伴们要注意。

请注意 升级openssh之后可能对线上的ulimit -n 造成影响,小伙伴们要注意。

请注意 升级openssh之后可能对线上的ulimit -n 造成影响,小伙伴们要注意。

 

首先查看openssh版本

[root@iZbp15vtwz2jeqq0pwdx2qZ openssh-8.1p1]# openssl version

OpenSSL 1.0.2r  26 Feb 2019

 

安装依赖

yum update openssh -y

yum install  -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel  pam-devel

yum install  -y pam* zlib*

 

在opt下下载升级openssh需要的2个压缩包

cd /opt

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

wget -c https://ftp.openssl.org/source/openssl-1.0.2r.tar.gz

 

解压压缩包

tar xfz openssh-8.1p1.tar.gz

tar xfz openssl-1.0.2r.tar.gz

 

可能文件默认显示uid和gid数组都是1000,这里重新授权下

 

[root@iZbp15vtwz2jeqq0pwdx2qZ openssh-8.1p1]# chown -R root.root /opt/openssh-8.1p1

 

备份原文件

mv /usr/bin/openssl /usr/bin/openssl_bak

mv /usr/include/openssl /usr/include/openssl_bak

安装openssl

cd /opt/openssl-1.0.2r

./config shared && make && make install

 

 

添加软连接

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

应用并查看openssl 版本

 

 

 

 

备份原文件

cp -r  /etc/ssh /tmp/

rm -rf /etc/ssh

修改数组

cd /opt/openssh-8.1p1

chown -R root.root /opt/openssh-8.0p1

chown -R root.root /opt/openssh-8.1p1

 

编译安装openssh8.1

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

 

 

 

修改/etc/ssh/sshd_config如下

[root@iZbp15vtwz2jeqq0pwdx2qZ ~]# grep "^PermitRootLogin"  /etc/ssh/sshd_config

PermitRootLogin yes

[root@iZbp15vtwz2jeqq0pwdx2qZ ~]# grep  "UseDNS"  /etc/ssh/sshd_config

UseDNS no

[root@iZbp15vtwz2jeqq0pwdx2qZ ~]#

 

设置开机启动  这里确保service 和systemctl都设置开机启动

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

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

chmod +x /etc/init.d/sshd

chkconfig --add sshd

systemctl enable sshd

mv  /usr/lib/systemd/system/sshd.service  /opt/

mv  /usr/lib/systemd/system/sshd.socket  /opt/

chkconfig sshd on

 

 

 

 

 

 

 

非生产的话 reboot 测试

附上升级需要下载的包

链接:https://pan.baidu.com/s/15qZK3ipaO1vkBmMPsVAEUg  密码:h2x4

附上升级的shell

cd /opt
ssh -V
openssl version
yum update openssh -y
#yum install xinetd telnet-server -y
yum install  -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel  pam-devel
yum install  -y pam* zlib*
wget -c https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-8.1p1.tar.gz
wget -c https://ftp.openssl.org/source/openssl-1.0.2r.tar.gz
tar xfz openssh-8.1p1.tar.gz
tar xfz openssl-1.0.2r.tar.gz
mv /usr/bin/openssl /usr/bin/openssl_bak
mv /usr/include/openssl /usr/include/openssl_bak
cd /opt/openssl-1.0.2r
./config shared && make && make install
echo $?
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
/sbin/ldconfig
openssl version
cd /opt/openssh-8.1p1
chown -R root.root /opt/openssh-8.1p1
cp -r  /etc/ssh /tmp/
rm -rf /etc/ssh
./configure --prefix=/usr/ --sysconfdir=/etc/ssh  --with-openssl-includes=/usr/local/ssl/include --with-ssl-dir=/usr/local/ssl   --with-zlib   --with-md5-passwords   --with-pam  && make && make install
echo $?

cat > /etc/ssh/sshd_config <<EOF
PermitRootLogin yes
AuthorizedKeysFile      .ssh/authorized_keys
UseDNS no
Subsystem       sftp    /usr/libexec/sftp-server
EOF
grep "^PermitRootLogin"  /etc/ssh/sshd_config
cat /tmp/ssh/sshd_config |grep -v '#' |grep -v '^$'
cp -a contrib/redhat/sshd.init /etc/init.d/sshd
cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
chmod +x /etc/init.d/sshd
chkconfig --add sshd
systemctl enable sshd
mv  /usr/lib/systemd/system/sshd.service  /opt/
mv  /usr/lib/systemd/system/sshd.socket  /opt/
chkconfig sshd on
service sshd restart
openssl version
ssh -V

 

升级完成之后 免密登陆的机子可能会连接不上,因为升级了openssh的版本,可能通讯方式的加密不一样了。需要删除或者清空/root/.ssh/known_hosts 

参考 

https://www.e-learn.cn/content/qita/2583116

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爷来辣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值