源码安装,OpenSSH升级到9.9p2(CentOS/Red Hat 系列)
本文仅是记一次安装成功的履历,内容仅供参考:文中涉及的一些非OpenSSH安装的额外操作请自行在网络搜索原版本:体系默认的 OpenSSH_8.0p1, OpenSSL 1.1.1k FIPS 25 Mar 2021
安装后版本:OpenSSH_9.9p2, OpenSSL 1.1.1k FIPS 25 Mar 2021
一、留意事项
OpenSSL 版本确保 1.1.1 版本,如果不是,建议先升级 OpenSSL
sshd -V 或 openssl version -a 查看 安装前可以先安装telnet服务,开启root登录,测试可以通过本机root毗连后再进行OpenSSH升级操作。以免安装过程中SSH不可用导致无法毗连服务器。
如果没条件安装telnet, 建议安装时可以在差异网络的差异设备上打开多个SSH Shell毗连,已备安装意外之需。
实在不行至少在本机多开几个Shell 毗连窗口... 我有关窗好习惯,所以.....哎
二、升级步骤
1. 备份配置
sudo cp -r /etc/ssh /etc/ssh.bak 2. 安装依赖
sudo yum groupinstall "Development Tools"
sudo yum install -y gcc make zlib-devel openssl-devel pam-devel krb5-devel 3. 下载软件包
sudo cd /opt
sudo wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.9p2.tar.gz
sudo tar -zvxf openssh-9.9p2.tar.gz
sudo cd openssh-9.9p2 4. 修改文件权限
sudo chmod 600 /etc/ssh/ssh_host_ed25519_key
sudo chmod 600 /etc/ssh/ssh_host_*key*
sudo chmod 644 /etc/ssh/ssh_host_*_key.pub 踩坑履历:未授权,编译安装时报如下错误。见权限错误时,授权相关文件重新操作即可。
https://i-blog.csdnimg.cn/direct/99f160bb7c0b467faa4bbaa7c2effbfb.png
5. 移除旧软件包
# yum 安装包移除(本案例yum移除)
sudo yum remove openssh-clients openssh-server
# 源码安装的可以尝试这么移(未实践)
mv /usr/bin/ssh /usr/bin/ssh.bak
mv /usr/sbin/sshd /usr/sbin/sshd.bak
mv /etc/pam.d/sshd/etc/pam.d/sshd.bak 踩坑履历:没有先移除原安装,安装后启动报 "Bad configuration option: GSSAPIKexAlgorithms" 相关错误
6. 配置、编译和安装
sudo ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-kerberos5
sudo make
sudo make install 7. 修改配置
# 这步可以先确保一下配置文件中是否有相关配置了,如果可以跳过,没有的项开启即可
sudo echo 'X11Forwarding yes' >> /etc/ssh/sshd_config
sudo echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
sudo echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config
sudo cp contrib/redhat/sshd.pam /etc/pam.d/sshd.pam 8. 查抄下配置
sudo sshd -t # 没有任何信息返回就是最好的结果,有错误会报错 9. 设置开机启动&启动
sudo cp contrib/redhat/sshd.init /etc/init.d/sshd
sudo systemctl enable sshd
sudo systemctl restart sshd 10. 查抄结果
sudo systemctl status sshd # 看看服务运行状态
sudo sshd -V # 看看版本
本地Shell连接看看, OK...
三、回滚方案
本比方上操作完就安装成功了,未有时机验证回滚方案...实乃憾事...
# 卸载重装系统默认版本
sudo make uninstall
sudo yum reinstall openssh openssh-server openssh-clients
#还原配置
sudo cp /etc/ssh/sshd_config.bak /etc/ssh/sshd_config
#重启
sudo systemctl restart sshd
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]