一、测试环境
系统版本 | openssl版本 | openssh版本 |
---|---|---|
centos7.9 | OpenSSL 1.0.2k | OpenSSH_7.4p1 |
1.查看操作系统版本信息。
##查看系统发行版信息。
cat /etc/redhat-release
##查看系统版本信息。
cat /proc/version
##查看系统内核信息。
uname -a
2、查看openssl版本。
openssl version
3、查看openssh版本。
ssh -V
二、初始化
1、安装基础服务。
yum install autoconf bash-completion bind-utils cifs-utils createrepo dstat expect ftp gcc gcc-c++ glibc iotop lrzsz lsof make net-tools nfs-utils openssl openssl-devel openvpn pam-devel pcre-devel python2-pip rsync screen sysstat tcpdump telnet tree unzip vim wget yum-utils zip haveged
三、备份文件
1、安装telnet服务,防止升级中断开连接而连接不上服务器。
##检查是否安装。
rpm -q telnet-server
rpm -q telnet
##安装。
yum install telnet-server telnet -y
##设置开机自启。
systemctl enable telnet.socket
systemctl start telnet.socket
##防火墙开启23端口,并允许telnet使用root登录。
echo 'pts/0' >>/etc/securetty
echo 'pts/1' >>/etc/securetty
##报错处理,若登陆时查看日志tail /var/log/secure,显示access denied: tty 'pts/3' is not secure !,则执行以下代码。
echo 'pts/3' >>/etc/securetty
systemctl restart telnet.socket
四、升级openssl
1、备份原文件。
mv /etc/ssl /etc/ssl_bck_20240618
cp -r /usr/bin/openssl /usr/bin/openssl_bck_20240618
2、下载安装包,解压编译安装。
wget https://www.openssl.org/source/openssl-1.1.1u.tar.gz
tar zxf openssl-1.1.1u.tar.gz
cd openssl-1.1.1u
./config shared && make && make install
ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/
openssl version
五、升级openssh
1、备份原文件。
mv /etc/pam.d/sshd /etc/pam.d/sshd-bak
cp -r /etc/ssh/ /etc/ssh-bak/
2、下载安装包,解压编译安装。
wget http://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.3p1.tar.gz
tar zxf openssh-9.3p1.tar.gz
cd openssh-9.3p1
##卸载旧版本。
rpm -e --nodeps `rpm -qa | grep openssh`
##编译安装。
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-zlib --with-md5-passwords --with-pam --with-ssl-dir=/usr/local/lib64/ --with-ssl-engine
make && make install
3、文件授权。
chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key
4、复制配置文件。
cp -a contrib/redhat/sshd.init /etc/init.d/sshd
chmod u+x /etc/init.d/sshd
5、还原配置文件。
cp /etc/pam.d/sshd-bak /etc/pam.d/sshd
cp /etc/ssh-bak/sshd_config /etc/ssh/sshd_config
6、添加开机自启。
chkconfig --add sshd
chkconfig sshd on
7、修改配置文件。
vi /etc/ssh/sshd_config
##修改第一处,注释掉。
GSSAPIAuthentication yes
GSSAPICleanupCredentials no
##修改第二处,取消注释。
PermitRootLogin yes #允许root帐号远程登录
PasswordAuthentication yes #开启密码认证方式
UsePAM yes #开启UsePAM登录
8、关闭selinux,重启服务,查看版本。
setenforce 0
systemctl restart sshd
ssh -V
六、测试重新连接
1、一定要重新打开一个ssh连接测试,确定能连接上服务器。