首页 > 基础资料 博客日记

Centos升级ssh版本

2024-10-19 01:00:10基础资料围观18

这篇文章介绍了Centos升级ssh版本,分享给大家做个参考,收藏Java资料网收获更多编程知识

1. 基础准备

下载并解压安装包

已下载的文件:

  • openssh-9.9p1.tar.gz
  • openssl-1.1.1w.tar.gz
  • zlib-1.2.12.tar.gz

2. 系统环境检查

  1. 查看当前 SSH 版本:
    ssh -V
    

3. 升级 OpenSSH 的步骤

3.1 解压压缩包

tar -zxvf openssh-9.9p1.tar.gz
tar -zxvf openssl-1.1.1w.tar.gz
tar -zxvf zlib-1.2.12.tar.gz

3.2 编译安装 Zlib

cd zlib-1.2.12
./configure --prefix=/usr/local/zlib
yum install gcc
make && make install
echo '/usr/local/zlib/lib' >> /etc/ld.so.conf
ldconfig -v

验证 Zlib 安装是否成功,/usr/local/zlib 目录下应包含 includelibshare 三个目录。

3.3 编译安装 OpenSSL

cd openssl-1.1.1w
./config --prefix=/usr/local/ssl -d shared
make && make install
echo '/usr/local/ssl/lib' >> /etc/ld.so.conf
ldconfig -v
备份并替换原 OpenSSL
mv /usr/bin/openssl /usr/bin/openssl.old
mv /usr/include/openssl /usr/include/openssl.old
ln -sf /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl

3.4 安装 Telnet 并进行配置

  1. 安装 Telnet:

    yum install -y telnet telnet-server xinetd
    
  2. 修改配置文件 /etc/xinetd.d/telnet,将 disable 设置为 no

    vim /etc/xinetd.d/telnet
    
  3. 重启 Telnet 服务:

    service xinetd restart
    

3.5 升级安装 OpenSSH

3.5.1 停止 SSH 服务并备份
systemctl stop sshd
# 对于 CentOS 6.9 使用
service sshd stop
cp -r /etc/ssh /etc/ssh.old
3.5.2 卸载系统自带 OpenSSH
rpm -qa | grep openssh
rpm -e --nodeps openssh-server-7.4p1-21.el7.x86_64
rpm -e --nodeps openssh-7.4p1-21.el7.x86_64
rpm -e --nodeps openssh-clients-7.4p1-21.el7.x86_64
3.5.3 编译安装 OpenSSH
cd openssh-9.9p1
./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/ssl
make && make install
3.5.4 复制新的 SSH 文件并配置
cp -rf /root/openssh-9.9p1/contrib/redhat/sshd.init /etc/init.d/sshd
cp -rf /root/openssh-9.9p1/contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
cp -rf /root/openssh-9.9p1/sshd_config /etc/ssh/sshd_config
cp -rf /usr/local/openssh/sbin/sshd /usr/sbin/sshd
cp -rf /usr/local/openssh/bin/ssh /usr/bin/ssh
cp -rf /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
3.5.5 配置 SSH 服务并启动
chmod u+x /etc/init.d/sshd
chkconfig --add sshd
chkconfig sshd on
echo 'PermitRootLogin yes' >> /usr/local/openssh/etc/sshd_config
# 谨慎使用,可能会断开连接
service sshd restart
service sshd start

3.6 Telnet 安全配置

  1. 关闭 Telnet:

    systemctl stop xinetd.service
    systemctl stop telnet.socket
    # 对于 CentOS 6.9 使用
    service xinetd stop
    
  2. 卸载 Telnet 服务(可选):

    yum remove xinetd telnet-server telnet -y
    
常见问题
  1. SSH 启动权限问题
    chmod 600 /etc/ssh/ssh_host_rsa_key
    chmod 600 /etc/ssh/ssh_host_dsa_key
    chmod 600 /etc/ssh/ssh_host_ecdsa_key
    chmod 600 /etc/ssh/ssh_host_ed25519_key
    

如果有 OpenSSL 库文件找不到的问题,可以参考相关解决方案。


文章来源:https://blog.csdn.net/u011197085/article/details/142878154
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐

标签云