需要先安装Telnet服务,在安装OpenSSH会导致ssh不可用,需要启用后备连接方式。
安装Telnet服务
查询telnet是否安装
rpm -qa telnet
如果没有安装则执行以下语句安装
yum -y install telnet
查询telnet-server是否安装
rpm -qa telnet-server
如果没有安装则执行以下语句安装
yum -y install telnet-server
检测防火墙状态放行telent
firewall-cmd --permanent --add-port=23/tcp --zone=public
firewall-cmd --reload
#若防火墙禁用的请略过该命令
#若防火墙停止,建议先启动防火墙,添加访问策略,否则服务器重启后将无法访问telnet
防火墙启动命令 systemctl start firewalld
默认情况root 不能直接登录telnet
创建一个新用户用于访问telnet
创建账号
sudo useradd tempuser
设置密码
sudo passwd tempuser
输入一个密码,例如:nNQE785^!#b^ykJM@8%
使用工具通过telnet 连接到服务器
并使用 su root 切换到root用户。
下面的操作是使用telnet连接进行操作
1、安装相关命令依赖
yum install -y pam* zlib*
2、备份原SSH配置
cp -rp /etc/ssh /etc/ssh.bak
mv /etc/ssh /etc/ssh_bak
3、停止并卸载原有的OpenSSH
停止SSH服务
systemctl stop sshd
查看安装的ssh
rpm -qa | grep openssh
卸载rpm安装的ssh
yum remove openssh*
4、安装OpenSSL
下载OpenSSL
wget --no-check-certificate https://www.openssl.org/source/openssl-1.1.1g.tar.gz
依次执行以下命令解压、编译、安装
tar -xzvf openssl-1.1.1g.tar.gz
cd openssl-1.1.1g
./config --prefix=/usr/ --openssldir=/usr/shared
make && make install
5、安装OpenSSH
下载OpenSSH
国外的源:
wget --no-check-certificate https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.6p1.tar.gz # 8.6版本
wget --no-check-certificate https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.1p1.tar.gz #9.1版本
如果国外的下载太慢,可以使用清华大学的镜像:
wget --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/pub/OpenBSD/OpenSSH/portable/openssh-8.6p1.tar.gz #8.6版本 9.1版本请自行修改文件名。
下面的脚本使用8.6版本,如果安装是9.1版本请自行修改文件名称
依次执行以下命令解压、编译、安装
cd openssh-8.6p1
./configure --with-zlib --with-ssl-dir --with-pam --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc/ssh
make && make install
cp contrib/redhat/sshd.init /etc/init.d/sshd
可能出现错误。后面有我遇到的错误的解决办法。
6、查看升级后的ssh版本
ssh -V
看到对应的版本为正常
7、修改ssh配置文件,使得root可以ssh登录
#修改ssh配置文件
vim /etc/ssh/sshd_config
将#PermitRootLogin prohibit-password参数改成 PermitRootLogin yes 并取消注释,开启root权限登录
8、关闭selinux
#修改selinux配置参数,永久关闭selinux(重启后生效)
sed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
#临时关闭selinux(使当前系统立即生效)
setenforce 0
9、启动OpenSSH
#重启OpenSSH
systemctl restart sshd.service
#添加到自启动
chkconfig --add sshd
到此处,SSH安装完成,请重启服务器测试SSH是否可以正常使用。
如果正常,由于安全原因需要关闭telnet
关闭Telnet服务
1、停止Telnet 服务
systemctl stop telnet.socket
2、禁用Telnet服务开机启动
systemctl disable telnet.socket
3、删除临时用户
deluser -rf tempuser
遇到的各类问题和解决办法:
1、编译安装过程提示:Protected multilib versions: zlib-1.2.7-20.el7_9.x86_64 != zlib-1.2.7-19.el7_9.i686
执行如下命令:yum install -y zlib zlib-devel --setopt=protected_multilib=false
2、编译安装过程提示:configure: error: PAM headers not found
执行如下命令:yum -y install pam-devel
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?