Linux下升级openSSH

本文档提供了在Linux系统中升级OpenSSH的详细过程,包括安装telnet作为备用、下载最新安装包、移除旧版本、编译安装新版本、修改配置文件、替换命令、重启服务以及设置开机自启等步骤,确保升级安全顺利完成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

官网下载最新安装包上传至服务器

http://www.openssh.com/releasenotes.html

安装telnet (以防升级失败连不上服务器)

# 查看是否安装telnet服务

rpm -qa | grep telnet
rpm -qa | grep xinetd

# 若无安装,yum安装

yum -y install telnet* 

yum -y install xinetd

#将服务开机自启(此处根据自身情况考虑)

systemctl enable xinetd.service

systemctl enable telnet.socket

#开启服务

systemctl start telnet.socket  

systemctl start xinetd

 vi /etc/securetty

在最后添加两行

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

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

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

 

systemctl restart xinetd

netstat -plnt |grep 23  # 确认下是否启动成功

安装依赖包

yum  install -y openssl-devel pam-devel gcc

解压压缩包

tar –xvf openssh-**.tar.gz

升级openssh

1、同样第一步解压,不再赘述

 

2、移除旧版本

mv /etc/ssh /etc/ssh.old

### 需要注意,移除之后,不能退出当前终端,若退出,只能通过telnet连了

 

3、编译安装

cd openssh-**p1/

./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/openssl --with-md5-passwords --mandir=/usr/share/man --with-zlib=/usr/local/zlib --without-hardening (红色为openssl库的位置 要按实际位置填写,否则会报错)

然后编译安装

make && make install

 

4、修改启动脚本

# 拷贝启动脚本

cp ./contrib/redhat/sshd.init /etc/init.d/sshd

# 修改启动脚本

vim /etc/init.d/sshd

# 按如下图修改,需要注意,此路径是你安装新版本的openssh路径,根据你的实际情况修改

SSHD=/usr/local/openssh/sbin/sshd

 

 

### 注意根据自身情况修改路径

/usr/local/openssh/bin/ssh-keygen –A
/sbin/restorecon /etc/ssh/ssh_host_key.pub
/sbin/restorecon /etc/ssh/ssh_host_rsa_key.pub
/sbin/restorecon /etc/ssh/ssh_host_dsa_key.pub
/sbin/restorecon /etc/ssh/ssh_host_ecdsa_key.pub

 

 

5、修改sshd配置文件/etc/ssh/sshd_config 

 

echo "PermitRootLogin yes" >> /etc/ssh/sshd_config    #直接用root登录终端(此处根据自身情况考虑)

echo 'X11Forwarding yes' >> /etc/ssh/sshd_config   #设置是否允许X11转发

echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config   #是否允许密码验证

 

 

6、卸载原有ssh(先安装后卸载,也是怕升级失败,如果有把握,可先卸载)

for  i   in  $(rpm  -qa  |grep  openssh);do  rpm  -e  $i  --nodeps ;done

提示警告:

 

 

将警告中被修改的文件名字再改回来

mv /etc/ssh/sshd_config.rpmsave /etc/ssh/sshd_config

mv /etc/ssh/ssh_config.rpmsave /etc/ssh/ssh_config

mv /etc/ssh/moduli.rpmsave /etc/ssh/moduli

 

 7、替换相关命令,并重启sshd服务

cp -arp /usr/local/openssh/bin/* /usr/bin/  替换相关命令

service sshd restart   重启sshd服务

 

验证升级、让其他人测试连接后再退出

ssh -V 和telnet 

 

 

8、设置开机自启

chkconfig --add sshd

chkconfig --level 2345 sshd on

chkconfig --list

 

升级完成后,为了安全起见,建议关闭telnet

#关闭服务(此处根据自身情况考虑)

systemctl stop telnet.socket 

systemctl stop xinetd

#关闭服务开机自启(此处根据自身情况考虑)

systemctl disable xinetd.service

systemctl disable telnet.socket

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值