Centos7升级OpenSSH到OpenSSH_8.0p1版本

Centos7升级OpenSSH到OpenSSH_8.0p1版本

1、升级要求

升级至openssl 1.1.1版本
升级至openssh 8.0版本
ssh -V 当前查看版本

2、安装telnet (以防升级失败,连不上服务器,建议弄)
    4  2020-11-01 16:34:22 rpm -qa | grep telnet     
    5  2020-11-01 16:34:24 rpm -qa | grep xinetd   
    6  2020-11-01 16:34:34 yum -y install telnet* 
    7  2020-11-01 16:34:42 yum -y install xinetd   
    8  2020-11-01 16:34:56 systemctl enable xinetd.service
    9  2020-11-01 16:35:13 systemctl enable telnet.socket
   10  2020-11-01 16:35:24 systemctl enable telnet.sockesystemctl enable telnet.sockett
   11  2020-11-01 16:35:34 systemctl start telnet.socket  
   12  2020-11-01 16:35:47 systemctl start xinetd
   13  2020-11-01 16:36:02  vi /etc/securetty
   在最后添加两行 pts/0    pts/1
   14  2020-11-01 16:36:32 systemctl restart xinetd
   15  2020-11-01 16:36:42 netstat -plnt |grep 23 # 确认下是否启动成功
3、升级OpenSSl
cd /opt/
scp  root@62.234.150.127:/tmp/open* ./ #上传软件
[root@VM-39-10-centos ~]# cd /opt/
[root@VM-39-10-centos opt]# ls
mellanox  openssh-8.0p1  openssh-8.0p1.tar.gz  openssl-1.1.1c  openssl-1.1.1c.tar.gz  rh
[root@VM-39-10-centos opt]# 
tar zxvf openssl-1.1.1c.tar.gz
cd openssl-1.1.1c
./config --prefix=/usr/local/openssl  #检查环境
./config –t
make     #编译
make install      #编译安装

cd /usr/local
ldd /usr/local/openssl/bin/openssl    #检查函数库
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf    #添加所缺函数库
ldconfig -v        #更新函数库
openssl/bin/openssl version      #查看新安装的版本
 
which openssl           #查看旧版本openssl命令在哪里
mv /bin/openssl /usr/bin/openssl.old      #将旧版本openssl移除
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl           #新版本制作软链接
openssl version         最后查看版本,更新完毕
[root@VM-39-10-centos opt]# openssl version  
OpenSSL 1.1.1c  28 May 2019
[root@VM-39-10-centos opt]#  #更新完毕
4、升级openssh
mv /etc/ssh /etc/ssh.old
### 需要注意,移除之后,不能退出当前终端,若退出,只能通过telnet连了
 cd /opt/
 tar -zxvf  openssh-8.0p1.tar.gz 
 cd openssh-8.0p1/
 yum install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel pam-devel pam* zlib*
 ./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
echo $?
make && make install 
echo $?
 s -l ./contrib/redhat/sshd.init

# 拷贝启动脚本
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

[root@VM-39-10-centos openssh-8.0p1]# echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
[root@VM-39-10-centos openssh-8.0p1]# echo 'X11Forwarding yes' >> /etc/ssh/sshd_config
[root@VM-39-10-centos openssh-8.0p1]# echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config 
[root@VM-39-10-centos openssh-8.0p1]# for  i   in  $(rpm  -qa  |grep  openssh);do  rpm  -e  $i  --nodeps ;done
警告:/etc/ssh/moduli 已另存为 /etc/ssh/moduli.rpmsave
警告:/etc/ssh/ssh_config 已另存为 /etc/ssh/ssh_config.rpmsave
警告:/etc/ssh/sshd_config 已另存为 /etc/ssh/sshd_config.rpmsave
[root@VM-39-10-centos openssh-8.0p1]# mv /etc/ssh/sshd_config.rpmsave /etc/ssh/sshd_config
[root@VM-39-10-centos openssh-8.0p1]# 
[root@VM-39-10-centos openssh-8.0p1]# mv /etc/ssh/ssh_config.rpmsave /etc/ssh/ssh_config
[root@VM-39-10-centos openssh-8.0p1]# 
[root@VM-39-10-centos openssh-8.0p1]# mv /etc/ssh/moduli.rpmsave /etc/ssh/moduli
[root@VM-39-10-centos openssh-8.0p1]# cp -arp /usr/local/openssh/bin/* /usr/bin/
[root@VM-39-10-centos openssh-8.0p1]# service sshd restart
Restarting sshd (via systemctl):                           [  OK  ]
[root@VM-39-10-centos openssh-8.0p1]# ssh -V 
OpenSSH_8.0p1, OpenSSL 1.1.1c  28 May 2019
[root@VM-39-10-centos openssh-8.0p1]# chkconfig --add sshd
[root@VM-39-10-centos openssh-8.0p1]# chkconfig --level 2345 sshd on
[root@VM-39-10-centos openssh-8.0p1]# systemctl stop telnet.socket  
[root@VM-39-10-centos openssh-8.0p1]# ssh 49.232.141.113
The authenticity of host '49.232.141.113 (49.232.141.113)' can't be established.
ECDSA key fingerprint is SHA256:YURCHUWDH7YGwNetYX5iduAJhwC5DJclN/1akV2l9t0.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '49.232.141.113' (ECDSA) to the list of known hosts.
root@49.232.141.113's password: 
Last login: Sun Nov  1 16:33:34 2020 from 223.20.102.110
[root@VM-39-10-centos ~]# 

OpenSSH 8.0 发布了,此版本缓解了 scp(1) 工具和协议漏洞 CVE-2019-6111,该漏洞此前我们之前报导过:知名文件传输协议 SCP 被曝存在 35 年历史的安全漏洞。 将文件从远程系统复制到本地目录时,SCP 客户端无法验证 SCP 服务器返回的对象是否与请求的东西一致,这使得攻击者可以使用恶意服务器控制的内容创建或破坏本地文件。 OpenSSH 8.0 的缓解措施添加了客户端检查,查看从服务器发送的文件名与命令行请求是否匹配。 SCP 协议已经过时,不灵活且不易修复,OpenSSH 官方建议使用更现代的协议进行文件传输,如 sftp 和 rsync。 此版本新特性包括: ssh(1)、ssh-agent(1)、ssh-add(1):PKCS#11 token 中添加对 ECDSA 密钥的支持。 ssh(1)、sshd(8):基于 Streamlined NTRU Prime 4591^761 和 X25519 的组合,添加实验性量子计算抗性密钥交换方法。 ssh-keygen(1):将默认 RSA 密钥大小增加到 3072 位。 ssh(1):允许“PKCS11Provider = none”覆盖 ssh_config 中 PKCS11Provider 指令的后续实例。 ssh(1):提示是否录制新主机密钥时,输入密钥指纹作为“yes”。 ssh-keygen(1):在单个命令行调用上签名多个证书时,允许自动递增证书序列号。 scp(1)、sftp(1):接受 -J 选项作为 scp 和 sftp 命令行上 ProxyJump 的别名。 ssh-agent(1)、ssh-pkcs11-helper(8)、ssh-add(1):接受“-v”命令行标志以增加输出的详细程度;将详细标志传递给子进程,例如从 ssh-agent 启动的 ssh-pkcs11-helper。 ssh-add(1):添加“-T”选项以允许通过执行签名和验证来测试代理中的密钥是否可用。 sshd(8):在 PAM 环境中暴露 $SSH_CONNECTION。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值