远程升级openssh服务先安装telnet服务,正常来说使用ssh协议进行连接,连接之后不断开的话升级是没有问题的,ssh配置如果修改,网路突然波动导致断开就连不上了,所以安装telnet备用去进行连接,也可以直接通过telnet去操作
环境:演示系统centos7,工具xshell
1、查看当前版本
rpm -qa|grep openssh
ssh -V
2、安装telnet服务
没有安装,有直接启动就行了
yum -y install xinetd telnet-server
3、设置允许telnet终端远程登录
pts虚拟终端,允许4个终端登录登录 /etc/securetty 文件允许你规定“root”用户可以从哪个tty设备登录,里面存在的都是允许登录的
echo pts/0 >> /etc/securetty
echo pts/1 >> /etc/securetty
echo pts/2 >> /etc/securetty
echo pts/3 >> /etc/securetty
4、启动telnet
systemctl start xinetd
systemctl enable xinetd
systemctl start telnet.soxket
systemctl enable telnet.socket
查看状态
5、远程测试telnet连接是否成功
使用telnet远程访问测试
6、openssh源码包下载
源码包可以从官网下载,或者阿里云、腾讯云等镜像站下载 一般服务器都是内网,下载上传过去,有外网可以直接使用wget直接下载到服务设备上 1、打开官网 2、滚轮下翻,到下面的位置 3、选择指定版本下载 4、使用wget下载 前面是网址,最后面试你要下载的包的名字
wget -c https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.0p1.tar.gz
7、上传源码包到服务器
服务器openssh版本:OpenSSH_7.4p1
[root@qianshuiliyu ~]
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
将要升级的源码包版本
[root@qianshuiliyu ~]
openssh-8.0p1.tar.gz
8、依赖包安装
先安装依赖库在进行升级 不存在yum源等先下载或者从镜像抽取出来在上传到服务器安装,有依赖的先安装依赖包,使用rpm直接安装
yum -y install gcc gcc-c++ zlib zlib-devel openssl openssl-devel pam-devel libselinux-devel
9、备份原有ssh数据与解压源码包
mkdir /etc/sshbak`date +-%Y-%m-%d`
mv /etc/ssh/* /etc/sshbak-2022-03-30/
mkdir /sshd
tar -xzvf openssh-8.0p1.tar.gz -C /sshd/
9、源码安装
进入解压后的目录,进行安装
pwd
/sshd/openssh-8.0p1
./configure --with-md5-passwords --with-pam --with-selinux --with-privsep-path=/sshd --sysconfdir=/etc/ssh
cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
cp -a contrib/redhat/sshd.init /etc/init.d/sshd
make && make install
10、配置文件修改
vim /etc/ssh/sshd_config
PermitRootLogin yes
UseDNS no
PubkeyAuthentication yes
11、启动服务
systemctl restart sshd
systemctl status sshd
systemctl enable sshd
ssh -V
OpenSSH_8.0p1, OpenSSL 1.0.2k-fips 26 Jan 2017
也可以reboot重启进行验证
12关闭telnet
成功升级后停掉telnet服务 xintd如果还管理其他服务就不用关闭,只关闭telnet服务就行
systemctl stop xintd.server
systemctl stop telnet.socket
systemctl disable xintd.server
systemctl disable telnet.socket
|