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
升级完毕!!