如何在OpenBSD Unix和Linux上将OpenSSH 7.0升级到7.2
时间:2020-01-09 10:39:27 来源:igfitidea点击:
如何在OpenBSD Unix操作系统上安装现有的OpenSSH版本或将其升级到7.2?
OpenSSH 7.2版主要是一个错误修正版本。
安全修复程序包括:
- ssh(1),sshd(8):删除未完成和未使用的漫游代码(已在OpenSSH 7.1p2中已被强制禁用)。
- ssh(1):消除当X服务器禁用SECURITY扩展时从不可信X11转发到可信转发的回退。
- ssh(1),sshd(8):将diffie-hellman-group-exchange支持的最小模数大小增加到2048位。
- sshd(8):现在默认启用预身份验证沙箱(以前的版本通过sshd_config对新安装启用了此功能)。
- 有关更多信息,请参见发行说明。
在OpenBSD Unix系统上安装/升级OpenSSH 7.2
以下命令旨在从root shell执行。
找出当前版本:
# uname -mrs
输出示例:
OpenBSD 5.8 amd64
# ssh -V
输出示例:
OpenSSH_7.0, LibreSSL 2.2.2
下载OpenSSH 7.2
执行以下命令:
# cd /usr/src/
使用ftp命令获取源代码:
# ftp http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/openssh-7.2.tar.gz
输出示例:
Trying 129.128.5.191... Requesting http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/openssh-7.2.tar.gz 100% |**************************************************| 746 KB 00:01 763928 bytes received in 1.42 seconds (524.85 KB/s)
如果要在OpenBSD v5.7或5.8上安装OpenSSH 7.2,则需要以下修补程序:
# ftp http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/openbsd58_7.2.patch
输出示例:
Trying 129.128.5.191... Requesting http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/openbsd58_7.2.patch 100% |**************************************************| 4461 00:00 4461 bytes received in 0.00 seconds (20.55 MB/s)
提取tar包
如下使用tar命令提取文件:
# cd /usr/src/usr.bin # tar xvsfz /openssh-7.2/ssh/ ../openssh-7.2.tar.gz
输出示例:
ssh ssh/hostfile.c ssh/LICENCE ssh/Makefile ssh/Makefile.inc ssh/OVERVIEW ssh/PROTOCOL ssh/PROTOCOL.agent ssh/PROTOCOL.certkeys ssh/PROTOCOL.chacha20poly1305 ssh/PROTOCOL.key ssh/PROTOCOL.krl ssh/PROTOCOL.mux ssh/README ssh/addrmatch.c ssh/atomicio.c ssh/atomicio.h ssh/auth-bsdauth.c ssh/auth-chall.c ... .. .. ssh/ssh-keyscan ssh/ssh-keyscan/Makefile ssh/ssh-keysign ssh/ssh-keysign/Makefile ssh/ssh-pkcs11-helper ssh/ssh-pkcs11-helper/Makefile ssh/sshd ssh/sshd/Makefile
将补丁应用到OpenBSD 5.7或5.8,执行:
# patch -p0 < /usr/src/openbsd58_7.2.patch
编译安装
执行以下命令:
# make obj && make cleandir && make depend && make && make install
安装新的配置文件
首先使用diff命令比较您现有的配置文件:
# diff sshd_config /etc/ssh/sshd_config # diff ssh_config /etc/ssh/ssh_config
做出改变:
# vi ssh_config # vi sshd_config
安装它:
# cp ssh_config sshd_config /etc/ssh
重启sshd
测试sshd的语法错误:
# /etc/rc.d/sshd check `sshd(ok)`
重新启动sshd服务器,执行:
# /etc/rc.d/sshd restart
验证一下
您可以从源代码进行编译和安装,也可以等待Linux发行版发布更新的openssh版本。
例如,Arch Linux即将发布更新,可以使用pacman命令安装:
# ssh -V `OpenSSH_7.2, LibreSSL 2.2.2`
关于Linux用户的说明
CentOS/RHEL/Debian和Ubuntu Linux LTS服务器保持稳定多年,您将无法安装OpenSSH版本7.2。
这些发行版将openssh软件包的版本保留为最后一个稳定的主要发行版。
有关更多信息,请参见OpenSSH项目主页。
$ sudo pacman -Syu