赞
踩
Centos7 检测出漏洞,要升级OpenSSH。
避免升级不成功出现ssh无法连接情况请yum安装telnet-server开启23端口,以便安装不成功23端口依然能连接。
yum install -y telnet telnet-server lrzsz wget xinetd vim
然后设置下开机自启
systemctl enable telnet.socket
systemctl start telnet.socket
systemctl enable xinetd
systemctl start xinetd
如果有防火墙记得关墙
firewall-cmd --zone=public --add-port=23/tcp --permanent
firewall-cmd --reload
创建用户,telnet连接不能直接使用root超级用户连接
useradd test
echo "123456" | passwd --stdin test
切记一定要测试连接
telnet 192.168.0.100 23
提示输入用户名即可。
然后准备前置条件
yum install zlib-devel
yum install openssl-devel
yum install pam-devel
备份下以免升级失败
cp -r /etc/ssh /etc/ssh.old #备份一些之前的文件
然后开始心惊肉跳的卸载ssh
rpm -qa|grep openssh
rpm -e --nodeps openssh-clients-7.9.1p1-31.el7.x86_64
rpm -e --nodeps openssh-7.9.1p1-31.el7.x86_64
rpm -e --nodeps openssh-server-7.9.1p1-31.el7.x86_64
rpm -qa|grep openssh
去官网下载最新的OpenSSH
http://www.openssh.com/
上传到服务器并解压到一个目录
tar zxvf openssh-8.1p1.tar.gz
cd openssh-8.1p1
配置一下 --sysconfdir=/etc/ssh:
这可以防止安装配置文件/usr/etc --with-pam:
此参数在构建中启用 Linux-PAM支持
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam
编译安装
# 编译
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
配置下
install -v -m755 contrib/ssh-copy-id /usr/bin
改一下配置文件不然root登录不进去
vim /etc/ssh/sshd_config
# 修改如下
PermitRootLogin yes
PasswordAuthentication yes
配置下开机启用
cp -p contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
chkconfig --add sshd
chkconfig sshd on
chkconfig --list sshd
systemctl restart sshd
验证一下
ssh -V
关闭selinux,否则重启sshd之后ssh无法连接(一直提示输入密码)
setenforce 0
vim /etc/selinux/config
# 修改如下
SELINUX=disabled
心惊肉跳的重启下连接试试吧
如果之前是rpm包安装的。并且按照以上步骤操作,可以直接以下命令进行回滚
yum -y install openssh-clients
yum -y install openssh-server
yum -y install openssh
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。