说明:视情况安装telnet环境,作用:为了防止升级过程中ssh断连,保险起见,先安装telnet并启动。
安装telnet-server及telnet服务
yum install -y telnet-server* telnet
安装xinetd服务
yum install -y xinetd
启动xinetd及telnet并做开机自启动
systemctl enable xinetd.service
systemctl enable telnet.socket
systemctl start telnet.socket
systemctl start xinetd.service
修改/etc/securetty文件
echo 'pts/0' >>/etc/securetty
echo 'pts/1' >>/etc/securetty
echo 'pts/2' >>/etc/securetty
测试telnet能否登录
telnet ip地址
输入用户名
输入密码
远程登录服务器页面(前提需要打开服务23端口号)
升级OpenSSH
备份原来的openssh
cp -r /etc/ssh /etc/ssh.bak`date +%Y%m%d`
准备openssh8.0安装包
https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.0p1.tar.gz
下载依赖包
yum install -y gcc zlib zlib-devel openssl-devel
解压安装
cd /usr/local/src
# 解压
tar -zxvf openssh-8.0p1.tar.gz
#进入目录
cd openssh-8.0p1/
# 需要指定openssh的安装路径
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-zlib --without-openssl-header-check --with-ssl-dir=/usr/local/ssl --with-privsep-path=/var/lib/sshd
make
# 卸载旧版本
rpm -e --nodeps `rpm -qa | grep openssh`
# 编译
make install
systemctl status sshd.service
sshd -t
执行完make install命令后可能就会有关于key文件的警告信息,这个时候需要将涉及到的key文件的权限改成600,如果没修改,则重启sshd服务时将报错。
chmod 600 /etc/ssh/ssh_host_rsa_key
chmod 600 /etc/ssh/ssh_host_ecdsa_key
chmod 600 /etc/ssh/ssh_host_ed25519_key
# 复制启动文件到/etc/init.d/下并命名为sshd
cp -p /usr/local/src/openssh-8.0p1/contrib/redhat/sshd.init /etc/init.d/sshd
# 添加执行权限
chmod +x /etc/init.d/sshd
# 添加到开启自启服务中
systemctl enable sshd
/sbin/chkconfig sshd on
# 允许root远程登录
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/g' /etc/ssh/sshd_config
# 配置selinux服务
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
sed -i 's/SELINUX=permissive/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
# 重启sshd服务
systemctl restart sshd
#查看版本
ssh -V
收尾工作 重启主机测试ssh是否可用
关闭并disable telnet服务
systemctl disable xinetd
systemctl disable telnet.socket
systemctl stop xinetd.service
systemctl stop telnet.socket