linux/centos7升级openssh8.8p1

Centos升级openssl

1. 下载安装wget
yum -y install wget
2. 获取openssh源码包
# 清华源 https://mirrors.tuna.tsinghua.edu.cn/OpenBSD/OpenSSH/portable/
# 阿里源 https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/?spm=a2c6h.25603864.0.0.6ff47250dE31BH
wget https://mirrors.tuna.tsinghua.edu.cn/OpenBSD/OpenSSH/portable/openssh-8.8p1.tar.gz

# 或前往官方下载后使用ftp传入服务器
3. 安装openssh 所需依赖
yum -y install  gcc gcc-c++ openssl-devel libstdc++* libcap* wget pam-devel zlib-devel perl
4. 备份旧版ssh配置文件
cp /etc/ssh/sshd_config /etc/ssh/sshd_config-bak-$(date +"%Y-%m-%d")
cp /etc/pam.d/sshd /etc/pam.d/sshd-bak-$(date +"%Y-%m-%d")
5. 卸载系统rpm自带ssh
rpm -e --nodeps `rpm -qa | grep openssh`
6. 解压并编译安装
tar -xf openssh-8.8p1.tar.gz -C /tmp
cd /tmp/openssh-8.8p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-privsep-path=/var/lib/sshd --with-ssl-dir=/usr/local/openssl 

make && make install
7. 修改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
8. 复制sshd初始化文件到linux启动目录
cp -p contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
9. 修改配置文件(可以不修改)
chmod 755 /usr/local/openssl/ -R
# echo 'PermitRootLogin no' >> /etc/ssh/sshd_config  禁止root远程登录
# sed -i '/PASS_MAX_DAYS/s/99999/90/g' /etc/login.defs  密码最大天数改为90
10. 开启pam认证并修改pam文件
# sshd文件如果有的话先备份,没有的话直接写入一个
cp /etc/pam.d/postlogin /etc/pam.d/postlogin-bak-$(date +"%Y-%m-%d")
cp /etc/pam.d/sshd /etc/pam.d/sshd.bak-$(date +"%Y-%m-%d")
echo 'UsePAM yes' >> /etc/ssh/sshd_config # 开启pam认证
echo 'MaxStartups 1000' >> /etc/ssh/sshd_config # MaxStartups是用来限制并行认证ssh客户端数量
echo 'MaxSessions 1000' >> /etc/ssh/sshd_config # 每个TCP连接可以并行开启多少个会话(session),并不是指某个ip连接的数量

# 写入/etc/pam.d/sshd
echo '#%PAM-1.0
auth       required     pam_sepermit.so
auth       substack     password-auth
auth       include      postlogin
# Used with polkit to reauthorize users in remote sessions
-auth      optional     pam_reauthorize.so prepare
account    required     pam_nologin.so
account    include      password-auth
password   include      password-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required     pam_selinux.so open env_params
session    required     pam_namespace.so
session    optional     pam_keyinit.so force revoke
session    include      password-auth
session    include      postlogin
# Used with polkit to reauthorize users in remote sessions
-session   optional     pam_reauthorize.so prepare' > /etc/pam.d/sshd
# 写入/etc/pam.d/postlogin
echo '#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.


session     [success=1 default=ignore] pam_succeed_if.so service !~ gdm* service !~ su* quiet
session     [default=1]   pam_lastlog.so nowtmp showfailed
session     optional      pam_lastlog.so silent noupdate showfailed' > /etc/pam.d/postlogin

# 修改权限
chmod 644 /etc/pam.d/postlogin
chmod 600 /etc/pam.d/sshd

11. 重启服务
  systemctl daemon-reload
  systemctl restart sshd
  systemctl enable sshd

12. 查看ssh版本
ssh -V
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要升级CentOS 7的OpenSSH版本到8.8,可以按照以下步骤进行: 1. 安装EPEL存储库: ``` sudo yum install epel-release ``` 2. 安装OpenSSH 8.8: ``` sudo yum install openssh-server ``` 3. 启动OpenSSH服务: ``` sudo systemctl start sshd ``` 4. 验证OpenSSH版本: ``` ssh -V ``` 如果显示的版本为OpenSSH 8.8,则升级成功。 请注意,在升级OpenSSH之前,建议备份重要的配置文件和数据。升级过程可能会影响系统的稳定性和安全性。 ### 回答2: 在升级 CentOS 7 的 OpenSSH 之前,需要先确认系统版本。可以通过以下命令检查: ``` cat /etc/centos-release ``` 接下来,需要确保系统已经安装了 EPEL 软件源。如果未安装,可以通过以下命令安装: ``` yum install epel-release -y ``` 安装 EPEL 软件源后,就可以使用以下命令升级 OpenSSH: ``` yum --enablerepo=epel-testing install openssh -y ``` 执行这个命令之后,系统会自动下载和安装最新版本的 OpenSSH。安装完成后,可以使用以下命令确认版本: ``` ssh -V ``` 升级完成后,需要注意一些事项,例如备份现有 OpenSSH 配置文件等。新版本的 OpenSSH 可能会有一些不兼容的更新,需要进行配置调整。同时,也需要确保升级后的 OpenSSH 在安全性方面没有问题。建议仔细阅读系统日志和相关文档,以确保升级后系统的运行稳定和安全。 ### 回答3: CentOS 7是一款广受欢迎的服务器操作系统,由于其稳定性和可靠性被广泛使用。OpenSSH是一套免费开源的SSH协议的实现,可以通过加密通道来保证安全性,防止中间人攻击。然而,CentOS 7默认安装的OpenSSH版本较低,不能满足一些新功能和安全性需求。在这种情况下,用户可以选择将OpenSSH版本升级8.8来增强安全性和性能。 以下是在CentOS 7上升级OpenSSH 8.8的步骤: 1. 安装OpenSSH编译工具 在升级过程中,需要使用OpenSSH编译工具,因此需要使用以下命令安装: sudo yum install gcc make pam-devel zlib-devel 2. 下载OpenSSH8.8OpenSSH官方网站上,下载最新的OpenSSH 8.8版本: sudo wget https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-8.8p1.tar.gz 3. 解压下载的文件 使用以下命令解压下载的文件: sudo tar -zxvf openssh-8.8p1.tar.gz 4. 编译和安装OpenSSH 接下来,需要编译OpenSSH,使用以下命令: cd openssh-8.8p1 sudo ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-ssl-dir=/usr/lib64/openssl sudo make sudo make install 5. 禁用老版本的OpenSSH 现在,需要停止老版本的OpenSSH服务,并禁止其自动启动,使用以下命令: sudo systemctl stop sshd sudo systemctl disable sshd 6. 启用新版本的OpenSSH 接下来,需要启动新版本的OpenSSH服务,并确认其运行状态,使用以下命令: sudo systemctl start sshd sudo systemctl status sshd 7. 测试新版本的OpenSSH 现在,使用SSH客户端连接到服务器,并检查新版本的OpenSSH功能是否正常。如果所有步骤都执行正确,则应该成功升级OpenSSH 8.8。 总结 CentOS 7是一款功能强大的服务器操作系统,其默认安装的OpenSSH版本相对较低。通过按照上述步骤升级OpenSSH 8.8,可以提高安全性和性能,避免一些可能的安全隐患。为了确保成功升级,请务必逐步执行上述步骤,检查每个命令的输出和状态,并测试新版本的OpenSSH是否正常。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值