目录

一、前提工作

1. 先查看系统版本:

2. 准备相关安装包(rpm包)部分rpm包列表:

二、安装telnet(CentOS Linux release 7.9.2009环境)

1. 检查xinetd运行状态及telnet是否安装

2. 创建安装包存放目录 及 rz命令上传RMP包

3. 进入目录/tools/telnet执行安装:(按顺序执行,不然可能报错)

4. 启动telnet服务及查看服务端口

5. 设置root用户登录、关闭防火墙实现root用户登录到telnet

6. 卸载telnet的步骤 (补充)

三、编译安装gcc

1. 查看是否安装gcc 及 创建安装包存放目录

2.  安装gcc (多数情况系统已安装)

四、编译安装(升级openssl)

1. 检查以前安装的包

2. 查看相关依赖包是否安装

五、编译安装(升级openssh,CentOS Linux release 7.9.2009环境)

1. 查看相关依赖包是否安装

2. 创建安装包存放目录 及 rz命令上传压缩包

3. 解压 openssh-9.0p1.tar.gz 及 进入解压后的目录

4. 执行编译安装命令(安装过程建议telnet登录安装,但非必须)

5. CentOS 7 之前的版本需要做以下处理

6. 修改配置文件开启root用户直接登录

7. 开机自启,服务启动

8. 重启openssh测试

9. 升级后ssh ip跳转时的两个错误问题记录


一、前提工作

1. 先查看系统版本:

cat /proc/version
cat /etc/redhat-release
uname -a

提示:能连接网络使用yum -y install 进行rpm包的安装更方便,快捷。省去下载和寻找依赖包的烦恼。减少由于依赖包版本问题安装报错的情况。

2. 准备相关安装包(rpm包)部分rpm包列表:

pam-devel-1.1.8-23.el7.x86_64.rpmtelnet包(telnet依赖xinetd):
telnet-0.17-47.el6.x86_64.rpm
telnet-server-0.17-64.el7.x86_64.rpm
xinetd-2.3.14-38.el6.x86_64.rp

二、安装telnet(CentOS Linux release 7.9.2009环境)

1. 检查xinetd运行状态及telnet是否安装

查看xinetd运行状态:service xinetd status
检查telnet是否安装:rpm -qa|grep telnet,rpm -qa|grep xinetd

2. 创建安装包存放目录 及 rz命令上传RMP包

创建安装包存放目录:mkdir -p /tools/telnet
rz命令上传RMP包到/tools/telnet目录:telnet的3个包

3. 进入目录/tools/telnet执行安装:(按顺序执行,不然可能报错)

rpm -ivh xinetd-2.3.14-38.el6.x86_64.rpm
rpm -ivh telnet-0.17-47.el6.x86_64.rpm
rpm -ivh telnet-server-0.17-64.el7.x86_64.rpm

4. 启动telnet服务及查看服务端口

systemctl start telnet.socket --重启服务器后失效
systemctl start xinetd --重启服务器后失效查看telnet服务是否启动:netstat -antupl|grep 23

5. 设置root用户登录、关闭防火墙实现root用户登录到telnet

1. 开放root用户的权限,编辑以下文件.注释掉这一行:auth  required  pam_securetty.so
vi /etc/pam.d/remote2. 关闭防火墙
查看防火墙的状态:sudo systemctl status firewalld(Active: active (running)此字样为运行)
临时关闭防火墙:sudo systemctl stop firewalld
临时打开防火墙:sudo systemctl start firewalld3. 使用SecureCRT,root用户telnet登录系统:(输入用户、密码登录)

6. 卸载telnet的步骤 (补充)

1. 关闭telnet服务
systemctl disable xinetd.service --针对永久生效
systemctl stop xinetd.service
systemctl disable telnet.socket --针对永久生效
systemctl stop telnet.socket2. 执行卸载
rpm -e --nodeps telnet-0.17-47.el6.x86_64
rpm -e --nodeps telnet-server-0.17-64.el7.x86_64

三、编译安装gcc

1. 查看是否安装gcc 及 创建安装包存放目录

查看是否安装gcc:gcc -v
创建安装包存放目录:mkdir -p /tools/openSSH/gcc

2.  安装gcc (多数情况系统已安装)

进入目录/tools/openSSH/gcc执行安装:rpm -ivh *.rpm --nodeps --force
(扩展:--nodeps就是安装时不检查依赖关系,比如你这个rpm需要A,但是你没装A,这样你的包就装不上,用了--nodeps你就能装上了。--force就是强制安装,比如你装过这个rpm的版本1,如果你想装这个rpm的版本2,就需要用--force强制安装)查看是否成功安装:gcc -v

四、编译安装(升级openssl)

补充说明:
OpenSSL:一个C语言函数库,是对SSL协议的实现。
OpenSSH:是对SSH协议的实现。
从编译依赖上看,openssh依赖于openssl,没有openssl的话openssh就编译不过去,也运行不了。
所以,升级openssh不一定要升级升级openssl。只要openssl还能够支持你新版的openssh就行。

1. 检查以前安装的包

rpm -qa|grep openssl
rpm -qa|grep openssh
openssl version
openssl version -a

2. 查看相关依赖包是否安装

查看相关依赖包是否安装:rpm -qa|egrep "gcc|make|perl|zlib|zlib-devel|pam|pam-devel"
或者单个依次查看:rpm -qa|grep gcc

略......后续openssl升级内容

五、编译安装(升级openssh,CentOS Linux release 7.9.2009环境)

1. 查看相关依赖包是否安装

查看相关依赖包是否安装:rpm -qa|egrep "gcc|make|perl|zlib|zlib-devel|pam|pam-devel"
或者单个依次查看:rpm -qa|grep gcc

2. 创建安装包存放目录 及 rz命令上传压缩包

创建安装包存放目录:mkdir -p /tools/openSSH
rz命令上传压缩包到/tools/openSSH目录:(文件名openssh-9.0p1.tar.gz)

3. 解压 openssh-9.0p1.tar.gz 及 进入解压后的目录

进入/tools/openSSH目录解压:tar -zxvf openssh-9.0p1.tar.gz
进入解压后的目录: cd /tools/openSSH/openssh-9.0p1(注意查看解压目录额用户及组的拥有者)

4. 执行编译安装命令(安装过程建议telnet登录安装,但非必须)

执行编译安装命令:./configure  --sysconfdir=/etc/ssh --with-pam --with-zlib --with-ssl-dir=/usr/local/ssl(本人实测中ssl这个目录不存在也不受影响)制作安装命令:make && make install(也可以分开执行。注意:执行结束如果出现make: [check-config] Error 1 (ignored)这个可以忽略跳过,执行echo $?检查执行结果)说明:--prefix 安装路径
--sysconfdir 配置文件路径
--with-pam 认证模块 在/etc/pam.d/目录下管理,启用PAM,需要有一个控制文件,按照提示的路径找到redhat/sshd.pam,并复制到/etc/pam.d/sshd,在/etc/ssh/sshd_config中打开UsePAM yes
--with-md5-passwords 使用md5加密
--without-hardening 加强
--with-ssl-dir 指向LibreSSL/OpenSSL库的安装目录的所在路径检测执行是否正确:echo $?(代表上一个命令执行后的退出状态。如果返回值是0,就是执行成功;如果是返回值是0以外的值,就是失败)查看版本:ssh -V

5. CentOS 7 之前的版本需要做以下处理

---------CentOS 7 之前的版本 begin------------------
注意--CentOS 7 之前的版本无法正常显示版本信息进行以下操作,操作时进入其目录先确认文件的存在及更新时间
mv /usr/bin/ssh /usr/bin/sshbak
cp /usr/local/bin/ssh /usr/bin/ssh(进入目录/usr/local/bin/查看文件生成时间应该是新安装的)重要操作---使用(在此之前的只是将新版本的ssh安装、将显示修改,并未将新版本的操作引入service sshd ...的命令中,以下操作将会使之生效)
mv /usr/sbin/sshd /usr/sbin/sshdbak
cp /usr/local/sbin/sshd /usr/sbin/sshd(进入目录/usr/local/sbin/查看文件生成时间应该是新安装的)--解决启动openssh时非法参数选项问题:ssh-keygen: illegal option -- A
因为默认低版本的ssh-keygen没有-A参数,解决方法:
mv /usr/bin/ssh-keygen /usr/bin/ssh-keygenbak
cp /usr/local/bin/ssh-keygen /usr/bin/ssh-keygen(进入目录/usr/local/bin/查看文件生成时间应该是新安装的)
---------CentOS 7 之前的版本 end------------------

6. 修改配置文件开启root用户直接登录

修改配置文件开启root用户直接登录:vi /etc/ssh/sshd_config
(取消#PermitRootLogin yes这一句的注释为PermitRootLogin yes)

7. 开机自启,服务启动

1. 进入解压后的安装目录
cd /tools/openSSH/openssh-9.0p1(将安装下contrib/redhat/sshd.init复制到/etc/init.d/sshd中)2. cp -a /tools/openSSH/openssh-9.0p1/contrib/redhat/sshd.init /etc/init.d/sshd(没有执行权限时可以赋权chmod +x /etc/init.d/sshd注意查看文件sshd的用户及组的拥有者)3. 把原先的systemd管理的sshd文件移走或者删除,不移走的话影响我们重启sshd服务。
(注意--CentOS 7 之前版本的linux系统不存在 systemd管理服务,跳过此步)
cd /usr/lib/systemd/system/ --移除前可以先查看下是否存在
mv /usr/lib/systemd/system/sshd.service  /tools/sshd.servicebak4.开机自启,加入系统服务
chkconfig sshd on
chkconfig --add sshd
systemctl enable sshd(CentOS 7 之前版本的linux系统不存在systemd,跳过此步)

8. 重启openssh测试

--init.d方式
/etc/init.d/sshd restart --重启
/etc/init.d/sshd stop --停止
/etc/init.d/sshd start --启动
netstat -lntp --查看验证是否含有22端口的sshd服务--systemd方式(注意--CentOS 7 之前版本的linux系统不存在 systemd管理服务,跳过此步)
systemctl stop sshd --停止
systemctl start sshd --启动
systemctl restart sshd --重启
systemctl status sshd或systemctl status sshd.service  --查看状态
netstat -lntp --查看验证是否含有22端口的sshd服务或
service sshd restart查看版本:ssh -V

9. 升级后ssh ip跳转时的两个错误问题记录

(一). /etc/ssh/ssh_config line 44: Unsupported option "gssapiauthentication"
此错误root用户下注释掉本机/etc/ssh/ssh_config文件中GSSAPIAuthentication yes项(二). Unable to negotiate with 192.168.0.193 port 22: no matching host key type found. Their offer: rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519
这个bug问题
root用户登录
vi /etc/ssh/ssh_config或/etc/ssh/sshd_config(或两个都加)
在末尾加
HostkeyAlgorithms ssh-dss,ssh-rsa
KexAlgorithms +diffie-hellman-group1-sha1---start如果不行还可加入以下方案:
在~/.ssh目录下添加config文件:vi config,录入以下code:
Host *HostKeyAlgorithms +ssh-dss
---end(三). 编译升级openssh时报错:configure: error: PAM headers not found
使用 yum -y install pam-devel解决的问题(四). 升级openssh时执行./configure报错:configure: error: *** working libcrypto not found, check config.log
应该却少包,yum安装解决:yum install -y openssl-devel重启ssh
service sshd restart

find / -iname "*openssh-server*" --根目录下查找文件,*为通配符
https://www.likecs.com/show-872807.html

记openssh升级,telnet安装(环境CentOS 7.9。 晗旧版本的不同补充)相关推荐

  1. Win10系统下环境变量Path编辑变成旧版本如何恢复

    安装很多开发软件时我们经常需要在系统环境中配置path环境变量,若path值被修改或删除是无法使用运行打开程序的.如果path值不小心被你修改了,大家只要改回来就可以了,但是有win10系统用户发现环 ...

  2. ANSYS安装新版本后无法设置为旧版本文件的默认打开方式

    有时由于卸载老版软件本不干净,新版本软件安装后无法直接双击打开旧版本文件,只能先打开workbench再打开文件,比较麻烦.想设置默认打开方式又发现选完没反应.发现改注册表方式好用. "开始 ...

  3. linux openssh升级7.4,RHEL Centos上升级OpenSSH7.4p1

    二.配置yum源 1.新建光盘挂载目录/yum mkdir /yum 2.上传光盘到机器的某个目录,然后挂载到/yum目录下 mount -o loop rhel-server-6.5-x86_64- ...

  4. 固态硬盘只安装linux系统盘,旧笔记本折腾记:升级SSD 安装深度Linux系统

    家里有一台ThinkPad的X201,已经陪我征战有一定年头了,第一代的I5 520M CPU,双核四线程,2.4G的主频,2G内存,320G硬盘,在Surface Pro 3上岗后,沦为了替补机,用 ...

  5. CentOS中怎样卸载旧版本Git并安装高版本Git

    场景 CentOS中通过编译源码包的方式安装Git: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/116704345 如果想对此 ...

  6. 安装itunes时提示不能删除旧版本的apple应用程序支持

    下载我 选择需要卸载清理的程序(所有与Apple有关的) ok

  7. Linux安装Docker(CentOS 8)与docker-compose套装

    Linux安装Docker(CentOS 8) 1.操作系统 查看版本 lsb_release -a 这里是 [root@aliyun ~]# lsb_release -a LSB Version: ...

  8. NVIDIA显卡驱动旧版本下载安装+CUDA下载+cudnn下载+解决CUDNN_STATUS_INTERNAL_ERROR+Failed to call ThenRnnForward

    重新装显卡驱动431版本+CUDA+cudnn,解决CUDNN_STATUS_INTERNAL_ERROR+Failed to call ThenRnnForward with model confi ...

  9. CentOS openssh升级到openssh可用

    http://blog.csdn.net/levy_cui/article/details/53100315 levy_cui (花名:白起) 科技改变世界,技术改变人生. 目录视图 摘要视图 订阅 ...

最新文章

  1. linux mysql 开启远程访问
  2. linux下java还原mysql数据库
  3. mysql 交叉统计_统计知识——交叉分组表
  4. Java集合(八) 迭代器Iterator、泛型、Map映射
  5. 10---Net基础加强
  6. IE8不能上传、插入图片的解决办法!
  7. SNMP原理及常用配置命令
  8. php 修改html编码,PHP将HTML Charset编码弄乱了
  9. ros 三线负载均衡
  10. 《SVN系列教程-第五章-IDEA集成SVN的使用》
  11. Java毕业设计-社区疫情防控管理系统
  12. Android状态栏添加快捷开关(Tile)
  13. 一起聆听碳氮循环研究新动态,我们在苏州期待您的精彩分享和参与!
  14. ping命令使用介绍及怎样使用Ping命令来测试网络连通性
  15. 99%的异地恋都会失败,你们凭什么成为那1%?
  16. cookies、sessions、token区别
  17. javaScript和html的区别与联系
  18. 论手持设备应用的WebApp化!
  19. Maven-Archetype Catalog
  20. css---光标样式

热门文章

  1. Clonezilla再生龙备份与还原linux系统
  2. CCA(Clear Channel Assessment)
  3. 基础会计学知识点汇总
  4. 2018级全国计算机二级office试题,全国计算机二级真题-2018年全国计算机二级MsOffice精选真题试卷(Excel)...
  5. 阿里云OSS服务使用操作流程
  6. jvm深入理解:内存分配与回收策略(优先在Eden分配、大对象直接进入老年代、长期存活的对象将进入老年代、动态对象年龄判定、空间分配担保)
  7. C语言心算程序设计抽奖程序,幼儿园大班数学优质课:抽奖游戏
  8. elasticsearch 中文API river
  9. phonegap编译Android,PhoneGap应用程序编译
  10. centos7制作U盘启动盘