一、安装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