Ubuntu16.04默认的openssh是7.2p2版的,存在有很多安全漏洞,所以计划升级至8.1p1
前期准备- 卸载原有的ssh
- 安装依赖库
- 安装数据压缩用的函式库zlib
- 安装openssl
- 安装openssh
openssh8.1的下载地址
查看当前版本
service sshd stop apt purge openssl apt purge ssh
2安装依赖包apt install libzip-dev libssl-dev autoconf gcc libxml2 make
3编译安装zlibwget http://www.zlib.net/zlib-1.2.11.tar.gz tar -zxvf zlib-1.2.11.tar.gz cd zlib-1.2.11 ./configure --prefix=/usr/local make make install
4编译安装opensslwget https://www.openssl.org/source/openssl-1.1.1.tar.gz --no-check-certificate tar -zxvf openssl-1.1.1.tar.gz cd openssl-1.1.1 ./config shared --prefix=/usr/local/ssl make test make install ln -s /usr/local/ssl/lib/libssl.so.1.1 /usr/lib/libssl.so.1.1 ln -s /usr/local/ssl/lib/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.1
5编译安装opensshwget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.1p1.tar.gz tar -zxvf openssh-8.1p1.tar.gz cd openssh-8.1p1 ./configure --prefix=/usr/local --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/ssl make make install
6设置相关配置文件mv /usr/bin/scp /tmp/;mv /usr/bin/ssh* /tmp/ ln -s /usr/local/bin/ssh /usr/bin/ssh ln -s /usr/local/bin/scp /usr/bin/scp ln -s /usr/local/bin/ssh-add /usr/bin/ssh-add ln -s /usr/local/bin/ssh-agent /usr/bin/ssh-agent ln -s /usr/local/bin/ssh-keygen /usr/bin/ssh-keygen ln -s /usr/local/bin/ssh-keyscan /usr/bin/ssh-keyscan ln -s /usr/local/bin/openssl /usr/bin/openssl ln -s /usr/local/sbin/sshd /usr/bin/sshd
7重启ssh服务service sshd restart
8查看当前版本ssh -V sshd -V
推荐系统核心精讲