記一次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