升级openssh

由于之前的项目用的ssh的版本较低,最近被频繁查出有安全漏洞

 

 不得不进行升级避免安全问题

操作步骤

一、开启telnet

复制代码
记得先测试telnet能否成功登录再升级openssh不然ssh会挂掉,当然如果你是在本机升级可以省略这一步

yum install telnet-server telnet

systemctl start telnet.socket
systemctl enable telnet.socket

lsof -i:23

#开放防火墙策略

firewall-cmd --zone=public --add-port=23/tcp --permanent
复制代码

二、备份旧的ssh

复制代码
#查询ssh目录

whereis sshd

mv /usr/sbin/sshd /usr/sbin/sshd.bak

whereis ssh

mv /usr/bin/ssh /usr/bin/ssh.bak

whereis ssh-keygen
mv /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bak
复制代码

三、卸载旧的openssh-server

yum  remove openssh-server

四、安装新的openssh-server

复制代码
# 安装依赖
yum install zlib-devel openssl-devel -y
cd /usr/local wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.8p1.tar.gz tar -zxvf openssh-8.8p1.tar.gz cd openssh-8.8p1 ./configure make & make install # 设置全局使用 cp /usr/local/sbin/sshd /usr/sbin cp /usr/local/bin/ssh /usr/bin cp /usr/local/bin/ssh-keygen /usr/bin/
复制代码

五、查看新本版

ssh -V

六、启动ssh 并设置开机自启

cp /usr/local/openssh-8.8p1/contrib/redhat/sshd.init /etc/init.d/sshd

/etc/init.d/sshd restart

systemctl status sshd


systemctl enable sshd

 七、安装后可能会导致ssh无法连接,解决办法如下

复制代码
第一步:
cp /usr/local/openssh-8.8p1/sshd_config /etc/ssh/

第二步:
vim /etc/ssh/sshd_config

找到PermitRootLogin without-password 改成PermitRootLogin yes

第三步:
vim /etc/init.d/sshd
在48行下面加上 OPTIONS="-f /etc/ssh/sshd_config"

 



第四步:
systemctl daemon-reload
systemctl restart sshd

如果报如下异常:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:9XvufSSIeZ7MAurIZ1Qw9Z13YV1Zcim2kthmAlECgYw.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /root/.ssh/known_hosts:8
ECDSA host key for 192.168.122.100 has changed and you have requested strict checking.
Host key verification failed.
lost connection

尝试删除  rm -rf ~/.ssh/known_hosts

还有本地的:~/.ssh/known_hosts

 
复制代码

 

posted @   许光宗  阅读(841)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示