源码编译ssh9.2
1、openssh下载地址
https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/
2、开启telnet备用连接
1、安装telnet
yum -y install xinetd telnet telnet-server
2、启动telnet连接
systemctl start telnet.socket && systemctl start xinetd && systemctl status telnet.socket && systemctl status xinetd
注意:需要在防火墙放行telnet的缺省端口23,如果是临时使用telnet,可暂时关闭firewalld.
3、注意:如不可关闭防火墙,开启防火墙基于firewalld放行23端口
firewall-cmd --zone=public --add-port=23/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --list-ports
4、默认telnet是不允许root用户直接连接的
#开启root的telnet登录。
mv /etc/securetty /etc/securetty.bak
3、关闭旧版本ssh服务
systemctl stop sshd
4、下载需要更新的ssh源码包
wget https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.2p1.tar.gz
tar xzvf openssh-9.2p1.tar.gz
cd openssh-9.2p1
#下载依赖
yum install -y rpm-build gcc gcc-c++ glibc glibc-devel openssl-devel openssl prce pcre-devel zlib zlib-devel make wget krb5-devel pam-devel libX11-devel xmkmf libXt-devel initscripts libXt-devel imake gtk2-devel lrzsz
#开始编译安装
./configure && make && make install
#完成后在root上su -一下然后看下ssh版本
su -
ssh -V
5、注意:以上方法为简易编译安装,为了系统安全性请在使用完telnet进行关闭
systemctl stop telnet.socket && systemctl stop xinetd
(1、)通过此方法安装后的ssh文件会被安装到/usr/local/bin/下
(2、)修改ssh配置文件可以通过修改/etc/ssh/sshd_config进行修改
(3、)如需置顶相关文件放到置顶目录下可在编译是添加相应参数
相关参数可通过在解压后的./configure -h进行查看
相关参数较多,可根据需要自行使用例举几个常用的
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/openssl --with-md5-passwords
以上为编译安装sshd9.2全部过程
CentOS7升级OpenSSH9.2编译rpm包
1、 下载用于编译openssh的rpm包的工具
安装rpm编译环境
yum install -y rpm-build gcc gcc-c++ glibc glibc-devel openssl-devel openssl prce pcre-devel zlib zlib-devel make wget krb5-devel pam-devel libX11-devel xmkmf libXt-devel initscripts libXt-devel imake gtk2-devel lrzsz --downloadonly --downloaddir=/opt/software/package/rpm-build
rpm -Uvh --force --nodeps /opt/software/package/rpm-build/*.rpm
3、创建编译目录,注意!!必须该目录,不要修改路径
mkdir -pv /root/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
4、下载官方openssh源码包
cd /root/rpmbuild/SOURCES/
wget https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.2p1.tar.gz --no-check-certificate
tar -zxvf openssh-9.2p1.tar.gz -C /root/rpmbuild/SPECS/
cd /root/rpmbuild/SPECS/openssh-9.2p1/contrib/redhat/
5、修改相关文件内容(预防编译报错)
#不生成askpass包
sed -i -e "s/%global no_gnome_askpass 0/%global no_gnome_askpass 1/g" openssh.spec
sed -i -e "s/%global no_x11_askpass 0/%global no_x11_askpass 1/g" openssh.spec
#解决openssl-devel < 1.1报错
sed -i '/openssl-devel < 1.1/s/^/#/' openssh.spec
6、编译
rpmbuild -bb /root/rpmbuild/SPECS/openssh-9.2p1/contrib/redhat/openssh.spec
完成之后进入
cd /root/rpmbuild/RPMS/x86_64/
删除
openssh-debuginfo-*.rpm(此包无需安装)
卸载系统本身ssh包(防止新包安装报错)
安装新包
#完成后在root上su -一下然后看下ssh版本
su -
ssh -V
以上为将源码包编译为rpm包进行安装。
参考各位大佬的文献文献:
https://blog.csdn.net/qq_37789137/article/details/128864160
https://blog.csdn.net/m0_38004228/article/details/127901717