centos 离线openssh升级

本文详细介绍了在CentOS系统上如何进行离线升级,包括关闭SELinux、安装telnet、创建用户、开启telnet端口,然后通过telnet登录进行SSH的卸载与安装。接着,配置SSH允许root登录并解决远程登录报错问题,最后关闭telnet服务,确保系统的安全性和稳定性。
摘要由CSDN通过智能技术生成

1、检查系统内核
centos7
2、准备离线升级
依赖包下载地址:

https://vault.centos.org/

3、离线升级准备
①、关闭selinux

vim /etc/selinux/config

将selinux设置为disabled

setenforce 0

②、安装telnet,防止ssh卸载后无法远程

yum install -y  telnet-server  xinetd 
systemctl enable xinetd.service
systemctl enable telnet.socket
systemctl start  telnet.socket
systemctl start  xinetd
#创建admin用户,方便telnet登录
useradd -m name
passwd name

③、开启telnet端口

vi /etc/xinetd.d/telnet/
disabled=no
firewall-cmd   --zone=public --add-port=23/tcp  --permanent
firewall-cmd   --reload

④、使用telnet登录

telnet IP
name
password
#切换到root
su root   
#切换root用户报错
su: Permission denied
#更改用户组
usermod -aG wheel admin

4、安装openssh
①、安装openssl依赖包

yum  install -y  gcc  gcc-c++  openssl-devel   pam-devel

离线:

rpm -ivh *.rpm 

②、可能需要组件,自行安装

yum install -y  lrzsz   wget   policycoreutils-python

③、查看安装的ssh 和卸载ssh

#查看
rpm  -qa  |  grep openssh-server
#卸载
for  i   in  $(rpm  -qa  |grep  openssh-server);do  rpm  -e  $i  --nodeps ;done
#删除原ssh配置文件
rm  -rf  /etc/ssh

④、下载openssh

wget  http://kartolo.sby.datautama.net.id/pub/OpenBSD/OpenSSH/portable/openssh-8.3p1.tar.gz   -P  /usr/local/
cd  /usr/local/
tar -zxvf openssh-8.3p1.tar.gz
mv  openssh-8.3p1 openssh
cd openssh

⑤、安装openssh

./configure  --prefix=/usr  --sysconfdir=/etc/ssh  --with-md5-passwords--mandir=/usr/share/man   -with-zlib--without-zlib-version-check  --with-pam --with-ssl-dir=/usr/local/ssl   --without-openssl-header-check
make   &&   make  install

cp  ./contrib/redhat/sshd.init    /etc/init.d/sshd
chkconfig  --add sshd
chkconfig  sshd on
chkconfig  --list  |  grep sshd
#允许root用户连接
vim /etc/ssh/sshd_config
#	添加配置到以下位置
#PermitRootLogin prohibit-password
PermitRootLogin yes
port=22
#semanage port -a -t ssh_port_t -p tcp 22
考虑到各个组件的载入问题建议重启服务器 reboot
service  sshd  restart
#重启之前重新打开一个服务器进入界面,验证是否正常
reboot

⑥、查看版本

ssh -V

5、ssh远程登录报错解决

vim /etc/ssh/sshd_config
#	最后一行添加:
KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group14-sha1

#连接成功之后报X11forwarding request。。。。
vi /etc/ssh/sshd_config  在X11这行改为X11Forwarding yes,
然后再将UseLogin参数为no,可能这一行最开始是被注释,去掉注释,保存之后重启sshd服务,重新连接即可

6、收尾工作
关闭 telnet-server 服务
备注: 该操作需要重启服务器后使用ssh登录没问题之后再执行 以防止ssh远程不了后没有其他远程操作

firewall-cmd --permanent --zone=public --remove-port=23/tcp
firewall-cmd   --reload
#	卸载telnet-server
rpm -e  xinetd telnet-server --nodeps
#删除admin用户
userdel -r admin
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CentOS 6.8 离线环境下升级 OpenSSH 到版本 9.8,您需要先下载新的 OpenSSH 安装包,然后手动安装。因为官方已经停止对 CentOS 6的支持,所以这可能会比较复杂,建议使用较旧的稳定版本。以下是步骤概述: 1. **下载安装包**: - 访问 OpenSSH 的官方网站 (<https://www.openbsd.org/ftp.html>) 或者第三方存储库(如 EPEL),找到适合 CentOS 6 的 OpenSSH 9.x 版本的 tarball。 2. **创建本地镜像目录**: - 下载到一个易于访问的目录,例如 `/media/your_disk/centos_updates`。 3. **解压并准备安装**: - 使用 `tar` 解压缩安装文件,例如 `tar xvf openssh-9.8p1.tar.gz` - 进入解压后的目录,比如 `cd openssh-9.8p1` 4. **编译并安装**: - 配置编译选项,通常不需要做太多修改,但确认`--prefix=/usr`以安装到系统默认位置。 ``` ./configure --prefix=/usr make && sudo make install ``` 5. **更新配置文件**: - 将新安装的 SSH 服务配置文件复制到/etc/ssh目录下替换原有的。 ```bash sudo cp /path/to/new/sshd_config /etc/ssh/sshd_config ``` 6. **重启服务**: - 重启 SSH 服务以便应用新的配置。 ```bash sudo systemctl restart sshd ``` 7. **验证升级**: - 使用 `sshd_config` 检查配置,运行 `sshd` 启动检查是否有错误提示。 由于这是一个非正式的过程,并且可能因为依赖项或其他因素导致问题,所以在尝试之前务必做好数据备份。此外,由于 CentOS 6 已不再支持,升级过程中遇到的技术问题可能需要社区支持解决,而不是通过官方渠道获取帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值