Redhat7、CentOS7升级openssh的方法

一、安装yum源(Redhat7需要,CentOS不需要)

1、检测yum源安装是否成功,如果没有安装yum,自行百度安装方法。

运行如下命令检测:

#yum clean all

#yum makecache

如出现下图所示,表示成功。

二、为防止升级失败登陆不了,需要安装telnet服务

1、安装telnet-server及依赖包

#yum install -y telnet-server

#yum install -y xinetd

2、启动xinetd服务

#systemctl start telnet.socket
#systemctl start xinetd

3、检查下23端口,证明telnet服务已经运行了

列表查看本机tcp、udp端口使用情况,显示端口、IP及进程名

#netstat –ntulp

 

4、注意:

默认情况下,系统是不允许root用户telnet远程登录的。如果要使用root用户直接登录,需设置如下内容。或者可以添加一个可以登录的用户,登录并su到root用户。

#echo 'pts/0' >>/etc/securetty

#echo 'pts/1' >>/etc/securetty

#echo 'pts/2' >>/etc/securetty

#echo 'pts/3' >>/etc/securetty

#echo 'pts/4' >>/etc/securetty

或添加一个用户

#useradd teluser

#passwd teluser

如果启用了防火墙,需要把23号端口放开:

# firewall-cmd --add-port=23/tcp

三、检查openssh安装环境

官方给出的文档中提到的先决条件openssh安装依赖zlib1.1.4并且openssl>=1.0.1版本就可以安装。

1、检查当前系统的openssl版本

 >=1.01,openssl版本不需要升级。

2、如果需要安装相关组件并升级openssh(非常关键):

yum install -y gcc openssl-devel pam-devel zlib zlib-devel

3、删除现在安装sshd相关软件包

rpm -e `rpm -qa | grep openssh` --nodeps

4、备份原来的数据

mv /etc/ssh/ /etc/ssh.bak

 四、下载并安装最新openssh版本8.0p1

1、下载openssh8.0p1的源码包

wget yum.crpower.com.cn:8888/crp/software/openssh-8.0p1.tar.gz

如未按照wget,可#yun install wget

2、加压压缩包

tar zxvf openssh-8.0p1.tar.gz

3、编译

#cd openssh-8.0p1

# ./configure --prefix=/usr  --sysconfdir=/etc/ssh

检查有无error,若有再用yum安装缺的包,如未见error,如图所示,说明编译成功,可以

可以下一步了。

4、安装sshd

#make && make install

5、查看下ssh命令的执行路径

# which sshd

/usr/local/sbin/sshd

6、复制源码解压路劲的开机启动脚本

#cp /root/openssh-8.0p1/contrib/redhat/sshd.init /etc/init.d/sshd

7、修改开机启动文件

#sed -i '25cSSHD=/usr/local/sbin/sshd' /etc/init.d/sshd

#sed -i '41c/usr/local/bin/ssh-keygen -A' /etc/init.d/sshd

8、修改配置文件,允许root通过ssh远程登陆

#sed -i "/#PermitRootLogin prohibit-password/aPermitRootLogin yes" /etc/ssh/sshd_config

9、测试环境建议修改SSH默认端口为2022(生产环境未用堡垒机的也可以更换)

#sed -i 's/#Port 22/Port 2022/g' /etc/ssh/sshd_config

10、复制文件到/usr/local/bin/下

#cp /root/openssh-8.0p1/contrib/ssh-copy-id /usr/local/bin

#chmod +x /usr/local/bin/ssh-copy-id

11、删除之前systemd管理的sshd文件

#rm -f  /usr/lib/systemd/system/sshd.service 

12、 启动sshd服务

#chkconfig --add sshd

#systemctl start sshd

12、查看下ssh版本

# ssh -V

OpenSSH_8.0p1, OpenSSL 1.0.1e-fips 11 Feb 2013

13、设置防火墙放开端口

# firewall-cmd --add-port=22/tcp

或# firewall-cmd --add-port=2022/tcp

14、设置为开机启动

#chkconfig sshd on

15、删除telnet用户及服务(如添加了telnet用户)

#userdel teluser

#systemctl disable xinetd.service

#systemctl stop xinetd.service

#systemctl disable telnet.socket

#systemctl stop telnet.socket

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值