03-openssh升级
@
目录
openssh升级,以升级到7.9为例
1. 安装准备
1.1 安装telnet
安装原因:卸载ssh后使用telnet远程登录
文档见 连接: >>> 安装telnet
1.2 关闭防火墙和selinux
- 关闭selinux
(略) - 关闭防火墙
(略)
1.3 下载升级包
我的CSDN资源: >>> openssh升级包下载
包含:
- openssh-7.9p1.tar.gz
- openssl-1.0.2o.tar.gz
- zlib-1.2.11.tar.gz
1.4 安装依赖
# yum -y install gcc make perl zlib zlib-devel pam pam-devel
2 安装服务
以下使用telnet连接服务器后操作
2.1 删除旧版openssh
- 关闭openssh并备份
# systemctl stop sshd
# cp -r /etc/ssh /etc/ssh.old
- 查看旧版openssh服务
# rpm -qa | grep openssh
- 删除服务
把上边三个服务都删除
# rpm -e --nodeps xxxxxxxxxx
2.2 编译安装zlib
- 安装
# tar -xzvf zlib-1.2.11.tar.gz
# cd zlib-1.2.11
# ./configure --prefix=/usr/local/zlib
# make
# make install
验证
- 加入库
# vi /etc/ld.so.conf.d/zlib.conf
/usr/local/zlib/lib
- 刷新库
# ldconfig -v
2.3 编译安装openssl
- 编译
# tar -xzvf openssl-1.0.2o.tar.gz
# cd openssl-1.0.2o
# ./config shared zlib
# make
# make test
# make install
- 连接到新版本
# mv /usr/bin/openssl /usr/bin/openssl.bak
# ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
# ln -s /usr/local/ssl/include/openssl /usr/include/openss
- 加入库
# vi /etc/ld.so.conf.d/ssl.conf
/usr/local/ssl/lib
- 刷新库文件
# ldconfig -v
2.4 升级openssh
- 安装
# tar -zxvf openssh-7.9p1.tar.gz
# cd openssh-7.9p1
# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-privsep-path=/var/lib/sshd
# make
# chmod 600 /etc/ssh/ssh_host_rsa_key
# chmod 600 /etc/ssh/ssh_host_ecdsa_key
# chmod 600 /etc/ssh/ssh_host_ed25519_key
# make install
- 允许root登录
# echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config
# echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
- 启动和开机启动
# cp -p contrib/redhat/sshd.init /etc/init.d/sshd
# chmod +x /etc/init.d/sshd
# chkconfig --add sshd
# chkconfig sshd on
# systemctl restart sshd
- 验证
ssh -V
3. 其他操作
3.1 ssh 安装失败回滚
拷贝回原来的版本或者直接再yum一个都可以:
# yum -y install openssh-clients
# yum -y install openssh-server
# yum -y install openssh
zlib 不用回滚
3.2 禁止root远程登录
# vim /etc/ssh/sshd_configs
PermitRootLogin no
# systemctl sshd restart