记一次Openssh升级8.6p1、Openssl升级openssl-1.1.1k


############ openssl ############


#备份旧的openssl文件
sudo mv /usr/bin/openssl /usr/bin/openssl.bak
sudo mv /usr/lib64/openssl /usr/lib64/openssl.bak
sudo mv /usr/lib64/libssl.so /usr/lib64/libssl.so.old	#这根据实例的环境,此文件根据情况进行备份


#1.查看openssh、gcc版本
ssh -V
gcc -v

#2.编译安装Zlib:
cd /usr/local/src
wget -c http://www.zlib.net/zlib-1.2.11.tar.gz

#3.编译安装
tar xzvf zlib-1.2.11.tar.gz
cd zlib-1.2.11/
./configure --prefix=/usr/local/zlib
make install

#4.升级openssl
##4.1查看版本
openssl version

##4.2下载
cd /usr/local/src
wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz

##4.3备份旧版
mv /usr/bin/openssl{,.bak}

##4.4解压
tar xf openssl-1.1.1k.tar.gz -C /usr/local/

##4.5编译
cd /usr/local/openssl-1.1.1kk
./config --prefix=/usr/local/ssl  --openssldir=/use/local/ssl shared
make && make install

##4.6软链接
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl

##4.7更配置
echo '/usr/local/ssl/lib' >>/etc/ld.so.conf

##4.8生效
ldconfig

##测试
openssl version



以防玩意,可以先安装Telnet
1.查看是否安装了Telnet
rpm -qa|grep "xinetd"

2.若没有安装则,
yum install xinetd -y

3.查看telnet是否安装,若没有安装则
查看:rpm -qa|grep 'telnet'
安装:yum install telnet telnet-server  -y

4.编辑配置文件
vi  /etc/xinetd.d/telnet
 service telnet
 {
         flags = REUSE
         socket_type  = stream
         wait  = no
         user  = root
         server  = /usr/sbin/in.telnetd
         log_on_failure  += USERID
         disable         = no             
 }

5.检查端口
netstat -lntup|grep 23

6.修改telnet的配置文件,因为telnet是明文传输,所以修改端口(PS:安装此是为了openssh升级失败断连,openssh升级完成后,即可卸载)
vi /etc/services 
#找到telnet,修改,如下
telnet          7916/tcp
telnet          7916/udp


#7.重启服务
service xinetd restart

#8.在实例上创建一个普通用户,用来登录(root用户不可以登录实例,也不建议用root登录)
useradd login_ssh 
passwd login_ssh

#9.在windows上尝试连接
telnet 10.0.0.71 7916
zabbix login: login_ssh
Password: 
Login incorrect

zabbix login: login_ssh
Password: 
[login_ssh@zabbix ~]$ 

visudo #添加授权
login_ssh  ALL=(ALL) NOPASSWD:ALL


############ openssh ############

#PS:升级Openssh最好本机操作或者开启telnet,防止升级失败,中途断开连接,推荐本机登录操作


#1.备份ssh配置文件夹
mv /etc/ssh /etc/ssh.bak
mv /usr/bin/ssh /usr/bin/ssh.bak( 全局查一下所在位置 )
mv /usr/sbin/sshd /usr/sbin/sshd.bak

#2.下载安装包
cd /usr/local
wget https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-8.6p1.tar.gz


#3.解压
tar xf openssh-8.6p1.tar.gz
chown root.root openssh-8.6p1 -R
cd /opt/openssh-8.6p1

#4.安装依赖
yum install -y openssl-devel  pam-devel  gcc

./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-tcp-wrappers --with-ssl-dir=/usr/local/ssl --without-hardening --without-openssl-header-check

#检测一下
echo $?     #---> 若为0则是成功的

#5.安装
make && make install

echo $?     #---> 若为0则是成功的

#6.如果提示key文件权限过大
chmod 600 file_name
例:chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key

#7.复制配置
rsync -av /etc/init.d/sshd  /etc/init.d/sshd.bak
rsync -av /etc/pam.d/sshd  /etc/pam.d/sshd.bak
rsync -av contrib/redhat/sshd.init  /etc/init.d/sshd   #按照实际情况进行
rsync -av contrib/redhat/sshd.pam /etc/pam.d/sshd.pam  #我执行此步升级成功后,登录不上,查看报错信息,是由于这块引起得,于是没执行此步可以;
chmod u+x /etc/init.d/sshd
mv /usr/lib/systemd/system/sshd.service  /usr/lib/systemd/system/sshd.service.bak

#7.1修改配置
rsync -av  /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

sudo egrep -v "^#|^$" /etc/ssh.bak/sshd_config
sudo vim /etc/ssh/sshd_config   #除了下变的,根据/etc/ssh.bak/sshd_config进行修改
PermitRootLogin yes
PasswordAuthentication yes
UseDNS no
.....
#PS: Subsystem开头的不要修改

# 8、设置开机自启
chkconfig --add sshd
chkconfig sshd on

# 9、重启ssh服务
systemctl daemon-reload
systemctl restart sshd

#10.查看版本
ssh -V



#########回滚#########
rm -rf /etc/ssh
mv /etc/ssh.bak /etc/ssh 
mv /usr/bin/ssh.bak /usr/bin/ssh 
mv /usr/sbin/sshd.bak /usr/sbin/sshd 
systemctl restart sshd


#验证
ssh -V


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM