centos7编译升级openssl与openssh

作者:佚名 来源:网络 点击数: 发布时间:2023年03月03日

准备好openssl openssh的安装包,安装好所需依赖

 yum -y install  gcc zlib-devel zlib-devel pam-devel build-essential openssl-devel

升级ssh前未防止出现ssh服务因安装不能使用问题,需要打开安装telnet服务。当ssh能使用时,可以使用telnet远程。

安装telnet

yum -y install telnet telnet-server xinetd

启动telnet服务,需要先检查防火墙是否开了23端口.

systemctl status firewalld

firewall-cmd --zone=public --add-port=23/tcp (临时)

systemctl start telnet.socket 

systemctl start xinetd

systemctl status xinetd  查看状态

 

mv /etc/securetty /etc/securetty.bak   更改这个文件,telnet可以使用root密码登录

telnet ip  即可远程服务器。

 

不使用telnet后 可以关闭

systemctl  stop xinetd

systemctl stop telnet.socket 

mv /etc/securetty.bak  /etc/securetty

一、安装openssl

进入安装目录

cd openssl-1.1.1k  

 

配置openssl安装目录

./config --prefix=/usr/local/openssl     

make

make install  

执行这两步的时候需要看有没有报错 如果报错按提示处理

 

查询openssl安装目录

which openssl 

 

ls /usr/bin | grep openssl    查询是否有openssl文件 如果有 改名

mv /usr/bin/openssl /usr/bin/openssl20230224back

 

创建可执行脚本连接到新的openssl文件

ln -s /usr/local/openssl/bin/openssl  /usr/bin/openssl  

 

将openssl库添加到动态执行库中

echo "/usr/local/openssl/lib" >> /etc/ld.so.conf 

 

刷新动态执行库

ldconfig 

 

查询openssl版本 这个时候显示Openssl xxx 表示成功

openssl version

 

二、安装openssh

        进入安装目录

cd openssh-xxx

配置安装路径及依赖

./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/openssl --with-md5-passwords  --without-hardening

 

make

make install

这两步注意有没有报错

 

允许root账户以任何方式登陆 一般是用户密码认证及public key 公钥

echo 'PermitRootLogin yes' >>/usr/local/openssh/etc/sshd_config

 

允许公钥登陆

echo 'PubkeyAuthentication yes' >>/usr/local/openssh/etc/sshd_config

 

允许用户密码登陆

echo 'PasswordAuthentication yes' >>/usr/local/openssh/etc/sshd_config

 

复制文件到相应系统文件夹,如果前面没有卸载会出现覆盖选项,建议复制前先用mv备份改名

mv /etc/init.d/sshd /etc/init.d/sshd20230224bak

cp /root/openssh-9.2p1/contrib/redhat/sshd.init /etc/init.d/sshd  

加入service管理

chkconfig --add /etc/init.d/sshd

复制配置文件到相应的系统文件夹

mv /etc/ssh/sshd_config /etc/ssh/sshd_config20230224bak

mv /usr/sbin/sshd /usr/sbin/sshd20230224bak

mv /usr/bin/ssh /usr/bin/ssh20230224bak

mv /usr/bin/ssh-keygen /usr/bin/ssh-keygen20230224bak

mv /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub20230224bak

 

cp /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_config

cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd

cp /usr/local/openssh/bin/ssh /usr/bin/ssh

cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen

cp /usr/local/openssh/etc/ssh_host_ecdsa_key.pub  /etc/ssh/ssh_host_ecdsa_key.pub

 

重新启动ssh

service sshd restart

 

查看ssh是否升级成功

ssh -V 版本对应即可

        

查看是否开机自启

chkconfig --list sshd

其中 2 3 4 5为on就可以了

0 关机 1 单用户模式 2 五网络连接的命令行模式 3 有网络连接的命令行模式 4 不可用 5 带图形化界面的多用户模式 6 重新启动

设置ssh开机自启

chkconfig sshd on