情谊揭示:因为 openssh 的更新可能会影响到 ssh 的登录所以保险起见最好先配置 talnet 的登录,万一 openssh 更新失败页不至于 ssh 不能失常登录
1. 查看服务器以后版本
ssh -V
2. 到官网下载最新版本 openssl 和 openssh
3. 先更新 openssl
4. 先更新所需的依赖包
yum install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel pam-devel
yum install -y pam zlib
5. 解压新版本 openssl
tar -zxvf *.tar.gz
6. 手动编译
./config –prefix=/usr/local/openssl
make
make install
7.
备份旧的 openssl 文件
mv /usr/bin/openssl /usr/bin/openssl.old
mv /usr/lib64/openssl /usr/lib64/openssl.old
mv /usr/lib64/libssl.so /usr/lib64/libssl.so.old
#创立软链接
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
ln -s /usr/local/openssl/lib/libssl.so /usr/lib64/libssl.so
echo “/usr/local/openssl/lib” >> /etc/ld.so.conf
ldconfig -v #显示正在扫描的目录及搜寻到的动态链接库
8. 测试
openssl version
9. 解压新版本 openssh
tar -zxvf **.tar.gz
10. 从新受权, 其实不受权页不会影响装置
chown -R root.root /usr/local/data/openssh-8.6p1
11. 备份
mv /etc/ssh /etc/sshbak
mv /usr/bin/ssh /usr/bin/sshbak
mv /usr/sbin/sshd /usr/sbin/sshdbak
删除掉以前的 ssh
rm -rf /etc/ssh/*
12. 切换到新版本 openssh 根目录
./configure –prefix=/usr/ –sysconfdir=/etc/ssh –with-openssl-includes=/usr/local/openssl/include –with-ssl-dir=/usr/local/openssl –with-zlib –with-md5-passwords –with-pam && make && make install
13. 批改 sshd_config 配置文件
vim /etc/ssh/sshd_config
PermitRootLogin prohibit-password
批改成 PermitRootLogin yes
PasswordAuthentication yes 正文去掉
UseDNS no
批改成 UseDNS no
14. 验证配置
grep “^PermitRootLogin” /etc/ssh/sshd_config
grep “UseDNS” /etc/ssh/sshd_config
15. 回到新版本 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
16. 增加 sshd 开机启动
chkconfig –add sshd
systemctl enable sshd
17. 把原先的 sshd 文件移走或者删除 否则影响新版本的启动
mv /usr/lib/systemd/system/sshd.service /
- 设置 sshd 服务开机启动
chkconfig sshd on
19. 测试启停服务
/etc/init.d/sshd restart
netstat -lntp
/etc/init.d/sshd stop
netstat -lntp
应用 systemctl 形式也行
systemctl stop sshd
netstat -lntp
systemctl start sshd
netstat -lntp
20. 查看版本
ssh -V
至此 openssl 和 openssh 更新到此实现