centos7编译升级openssl与openssh
准备好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