openssh升级编译安装,更新Openssh和openssl

本文详细介绍了如何在Linux系统中手动编译安装OpenSSH和OpenSSL。首先,从官方网站下载软件包,然后通过解压、配置、编译和安装过程进行安装。特别强调了在编译安装时指定安装目录的重要性,以及处理可能的依赖问题。在安装完成后,文章指导如何启动、关闭服务,并进行开机自启设置。同时,还提醒注意新安装的OpenSSH服务默认不支持root远程登录,需要修改配置文件才能启用。

 

openssh下载:https://www.openssh.com/

openssl下载:https://www.openssl.org/

注:openssh需要配套openssl使用

软件包安装和编译安装的区别:

软件包安装:

yum  provides  ssh  //查看openssh安装包(系统默认已安装)

yum install openssh  -y   //安装openssh

rpm  -qa  | grep  openssh   //查看openssh安装包的版本

ssh   -V   //查看openssh和配套openssl版本(环境变量未改变时使用)

查找ssh命令所在目录: find  /   -name  ssh , /usr/bin/ssh目录下 bin目录为命令所在目录,sbin目录为服务所在目录)

 

查看动态链接库(openssh的动态链接库由openssl提供):

查看ssh状态:systemctl  status  sshd

编译安装目录:

在编译安装程序的时候,如果没有指定安装目录,一般默认安装在/usr/local目录下,服务在/usr/local/sbin ,软件在 /usr/local/bin , 配置文件在 /usr/local/etc  动态链接库在 /usr/local/lib64(lib),可指定安装目录 ,命令可以用 ./configure   --help 查看

启动服务:  /usr/local/sbin/sshd  

关闭服务: ps  aux  |  grep   sshd   ,找到PID ,然后kill  -9   PID

开机自启: chmod  +x   /etc/rc.d/rc.local   //redhat 7里面首次需要修改该文件权限

echo  “/usr/local/sbin/sshd ”  >>  /etc/rc.d/rc.local

注:需要关闭系统原来的sshd服务,否则会出现端口冲突。

注:升级openssh可以直接下载openssh包,编译安装,但是可能出现无法识别到库,或者版本不对问题。当出现该问题时,可以在openssl官网下载最新的openssl安装包,然后新安装openssl

以下举例另外安装opensshopenssl

操作系统版本: redhat  7.3

openssh版本:

 

1、上传opensshopenssh包,可使用

rz命令进行上传,改命令由lrzsz-0.12.20-36.el7.x86_64 提供

 

2、解压安装包

file  安装包 //查看压缩方式

确定压缩方式,进行解压

tar  -zxvf  安装包

 

3、安装openssl

mkdir  /usr/local/openssl-1.1.1d  //创建和openssl版本相同的目录名(便于后期升级进行识别以及卸载)

进入openssl目录

./config  --prefix=/usr/local/openssl-1.1.1d    //prefix:指定安装目录

make  && make  install  //进行编译安装

make  uninstall   //卸载,或者删除安装目录 rm  -fr  /usr/local/openssl-1.1.1d

安装完成,查看openssl版本:

此时出现了没有库文件情况。

进入到安装目录:

cd /usr/local/openssl-1.1.1d

查看命令需要的库文件:

将库文件写入库配置目录

重新加载库:ldconfig  -v

重新查看版本:(当前在openssl安装目录下,使用命令./bin/openssl  version  -a 查看版本以及调用的库文件)

 

4、安装openssh

mkdir   /usr/local/openssh-8.1p1   //创建新的安装目录,目的同上

进入解压目录:

./configure --prefix=/usr/local/openssh-8.1p1  --with-ssl-dir=/usr/local/openssl-1.1.1d

prefix为指定程序安装目录,--with-ssl-dir是指定调用的openssl,指定openssl的安装目录

出现报错:zlib没有安装,安装后再次执行上面命令即可

configure: error: *** zlib.h missing - please install first or check config.log ***

yum install -y  zlib*.

检查完毕,执行make  &&  make  install 安装即可

验证安装:

 

5、最后操作,使用新openssh版本

注:如果是在虚拟化平台上,建议进入虚拟化操控台界面操作,否则请开启telnet服务,以供临时使用。

systemctl  status  sshd  //查看系统的sshd服务状态如果是运行的,则关闭

systemctl  stop  sshd

systemctl  disable  sshd   //关闭系统sshd服务开机自启(也可以卸载系统的openssh服务,如果已经使用的编译安装的sshd服务,则用kill干掉进程,然后查看是否在开启自启服务中,如果在,则删除行,该操作会在后面讲到)

注:新安装的sshd服务默认不允许root直接远程登录,首先需要创建其他账户,然后使用其他账户进行远程登录,再登陆到root账户,如果需要root用户远程登录,则需要修改配置文件sshd_config,在/usr/local/openssh-8.1p1/etc/sshd_config

修改配置文件,然后重启服务

PermitRootLogin  yes 

 

/usr/local/openssh-8.1p1/sbin/sshd   //启动新服务

检查服务是否启动

使用新sshd版本连接:

设置服务开机自启:

cd  /etc/rc.d

ls   -l    //查看rc.local文件是否有x权限

chmod  +x  rc.local   //赋予可执行权限

echo  /usr/local/openssh-8.1p1/sbin/sshd   >>  rc.local

验证是否正确

cat  rc.local

将启动命令放入该文件中(如果以前有编译安装的sshd程序在该文件中,则将以前的自启动命令移除

注:编译安装的程序建议直接用绝对路径执行命令,无需加载如环境变量。

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值