centos7-openssh升级到openssh8.9

centos7-openssh升级到openssh8.9(支持互联网和局域网)

一、安装包下载

openssh官方下载地址:http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.9p1.tar.gz
openssl官方下载地址:https://www.openssl.org/source/openssl-1.1.1t.tar.gz

二、环境准备

1、备份原有ssh配置文件

cp -r /etc/ssh /etc/ssh.old

2、查看当前openssh和openssl版本(ssl可以看到版本信息和安装位置)

ssh -V
openssl version -a

3、安装依赖

yum install -y gcc zlib zlib-devel openssl-devel pam-devel

三、安装步骤

1、解压升级包

tar xzvf openssh-8.9p1.tar.gz
tar xzvf openssl-1.1.1t.tar.gz
tar xzvf zlib-1.2.13.tar.gz

2、编译安装openssl

cd openssl-1.1.1t
./config --prefix=/usr/local/openssl shared
make -j4
make -j4 install

安装OpenSSL成功,/etc/ld.so.conf 中添加一行:

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

执行

ldconfig

3、编译安装openssh

cd ..
cd openssh-8.9p1
./configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl --with-zlib --with-md5-passwords --with-pam
make -j4
make -j4 install

4、修改拷贝openssh相关文件

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

修改配置,允许root登录和证书登录:

vi /etc/ssh/sshd_config

添加如下配置(或去掉注释)

PasswordAuthentication yes
PermitRootLogin yes

5、启动ssh服务

关闭由systemctl控制的ssh启动

systemctl stop sshd.service

移除并备份旧的ssh的服务配置文件

mv  /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/sshd.service-old

复制新的服务配置文件,openssh-8.9p1目录下sshd.init文件是源码包自带的ssh服务脚本了,把它拷贝到/etc/init.d/目录下

mv /etc/init.d/sshd /etc/init.d/sshd-old
cp  ./contrib/redhat/sshd.init /etc/init.d/sshd

密钥赋予600权限

chmod 600 /etc/ssh/ssh_host_rsa_key
chmod 600 /etc/ssh/ssh_host_dsa_key
chmod 600 /etc/ssh/ssh_host_ecdsa_key
chmod 600 /etc/ssh/ssh_host_ed25519_key

重载systemctl服务

systemctl daemon-reload

启动服务

systemctl start sshd.service 

设置开机自启动

systemctl enable sshd.service 

验证当前openssl和openssh版本

ssh -V

升级完毕!!

猜你喜欢

转载自blog.csdn.net/LSW1737554365/article/details/129710109