openssh下载地址
http://www.linuxfromscratch.org/blfs/view/svn/postlfs/openssh.html
http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.5p1.tar.gz
升级openssh,建议配置过程中不要关闭当前远程连接窗口,验证是否升级成功可以另开一个窗口进行测试
-
查看操作系统版本
cat /etc/redhat-release
-
查看openssh版本
ssh -V
-
查看openssl版本(openssl版本要大于1.0.1,zlib版本要大于1.1.4)
openssl version -a
-
安装所需依赖组件
yum install -y gcc zlib-devel openssl-devel pam-devel
-
备份ssh目录
mv /etc/ssh /etc/ssh_back
-
卸载旧版openssh
rpm -qa |grep openssh|xargs -i rpm -e --nodeps {}
如果之前已经通过编译升级过openssh的,现在升级到更高的版本,则需要到/usr/share/doc/目录下,删除openssh目录,以之前升级过到openssh7.4p1,现在升级到8.0p1为例,
cd /usr/share/doc/
rm -rf openssh-7.4p1
-
解压openssh8.5p1安装包
cd /tmp
tar -zxvf openssh-8.5p1.tar.gz
-
检查依赖环境(检查完成之后,无报错,才能进行编译安装)
cd /tmp/openssh-8.5p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/ssl --with-pam --with-zlib
–prefix 安装目录
–sysconfdir 配置文件目录
–with-ssl-dir 指定 OpenSSL 的安装目录,如果之前有编译升级openssl需要指定
–with-privsep-path 非特权用户的chroot目录
–with-privsep-user=sshd 指定非特权用户为sshd
–with-zlib 指定zlib库的安装目录
–with-md5-passwords 支持读取经过MD5加密的口令
–with-ssl-engine 启用OpenSSL的ENGINE支持
-
编译安装
make && make install
-
openssh安装后的环境配置
install -v -m755 contrib/ssh-copy-id /usr/bin
install -v -m644 contrib/ssh-copy-id.1 /usr/share/man/man1
install -v -m755 -d /usr/share/doc/openssh-8.5p1
install -v -m644 INSTALL LICENCE OVERVIEW README* /usr/share/doc/openssh-8.5p1
-
修改配置文件,允许root登录
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
-
复制启动脚本到/etc/init.d目录下
cp -p contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
-
设置为开机启动
chkconfig --add sshd
chkconfig sshd on
chkconfig --list
-
重启OpenSSH
systemctl restart sshd
-
检查升级后版本是否为openssh8.5p1
ssh -V