Linux升级ssh

Linux ssh升级

1.yum方式升级

升级的版本最高为7.4

yum update -y openssh
2.安装包升级

可升级到最新版本

  • 下载openssh、openssl
wget --no-check-certificate  https://www.openssl.org/source/openssl-1.1.1q.tar.gz
wget --no-check-certificate  https://mirrors.sonic.net/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz
  • 解压备份
tar -zxvf openssh-9.8p1.tar.gz
tar -zxvf openssl-1.1.1q.tar.gz
cp -r /etc/ssh /etc/ssh-bak
  • 编译安装ssl
cd openssl-1.1.1q/
./config --prefix=/usr/local/ssl -d shared
make && make install
echo '/usr/local/ssl/lib' >> /etc/ld.so.conf
ldconfig -v

在这里插入图片描述

  • 编译安装ssh
cd ../openssh-9.8p1/
./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/ssl
make && make install
  • 修改sshd_config
vim /usr/local/openssh/etc/sshd_config

在这里插入图片描述

  • ssh启动文件与配置替换
cp  ./contrib/redhat/sshd.init /etc/init.d/sshd
chkconfig --add sshd
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
systemctl restart sshd.service
systemctl enable sshd.service
ssh -V

在这里插入图片描述

### 升级 LinuxSSH 至最新版本的方法 为了在 Linux 系统上将 SSH 升级至最新版本,可以通过源码编译的方式完成此操作。以下是具体的操作方法: #### 下载 OpenSSH 的最新源码 通过 `wget` 命令下载最新的 OpenSSH 源码包: ```bash wget https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.0p1.tar.gz [^1] ``` 解压已下载的压缩包: ```bash tar -zxvf openssh-8.0p1.tar.gz cd openssh-8.0p1 ``` #### 安装必要的依赖项 在编译之前,确保系统已经安装了所需的开发工具和库。例如,在基于 RedHat 或 CentOS 的系统中,可以运行以下命令来安装这些依赖项: ```bash yum groupinstall "Development Tools" yum install zlib-devel openssl-devel pam-devel ``` 对于 Debian 和 Ubuntu 系统,则可执行如下命令: ```bash apt-get update apt-get install build-essential libssl-dev libpam0g-dev ``` #### 编译并安装 OpenSSH 配置编译环境,并指定安装路径(通常默认即可)。执行以下命令: ```bash ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-selinux --with-zlib --with-md5-passwords make sudo make install ``` 上述命令中的选项解释如下: - `--prefix=/usr`: 将程序文件安装到 `/usr/bin` 中。 - `--sysconfdir=/etc/ssh`: 配置文件存储位置设置为 `/etc/ssh`。 - `--with-pam`: 启用 PAM 支持。 - `--with-selinux`: 如果系统启用了 SELinux,则启用支持。 - `--with-zlib`: 使用系统的 ZLIB 库。 #### 替换旧版 SSH 并重启服务 安装完成后,替换原有的 SSH 文件和服务配置。注意备份原始文件以防万一出现问题: ```bash cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup service sshd restart ``` 验证新版本是否成功启动: ```bash sshd -t ps aux | grep sshd ``` #### 设置无密码登录(可选) 如果希望实现免密登录功能,可以根据已有描述生成密钥对[^2]。主要步骤包括: 1. 在本地机器上生成 RSA 密钥对: ```bash ssh-keygen -t rsa ``` 2. 将公钥复制到目标服务器: ```bash ssh-copy-id user@remote_host ``` 或者手动编辑远程主机上的 `.ssh/authorized_keys` 文件,追加本地生成的公钥内容。 #### 处理可能的兼容性问题 在某些情况下可能会遇到依赖包版本不一致的情况。此时应参照官方文档或其他资源解决冲突[^5]。必要时重新构建相关组件以适配当前环境需求。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值