Centos7 升級openssh到最高版本

看見月亮就想起你發表於2020-10-13

注:由於Centos7自帶的openssh版本過低且存在漏洞,所以為了安全考慮我們需要升級openssh到最高版本

1.先通過yum更新,會將openssh自動更新到最高版本

yum -y update openssh
   

如果報錯 /var/run/yum.pid已被鎖定

則執行命令刪除:

rm -rf /var/run/yum.pid
   

注:由於yum中的openssh未必已經同步了openssh中的最高版本,如果不是真正的最高版本,我們還要通過編譯安裝

2.利用yum升級並不能將ssh徹底更新到最新版本,然後還得需要編譯安裝

安裝一些需要的環境:

yum -y install wget tar gcc make
   

3.上傳 zlib-1.2.11.tar.gz,openssl-1.1.1d .tar.gz,openssh-8.2p1.tar.gz

從官網下載以上壓縮包並上傳到伺服器並解壓

tar --no-same-owner -zxf zlib-1.2.11.tar.gz
   
tar --no-same-owner -zxf openssl-1.1.1d_.tar.gz
   
tar --no-same-owner -zxf openssh-8.2p1.tar.gz
   

4.安裝zlib

cd zlib-1.2.11
   
./configure --prefix=/usr/local/zlib
   
make && make install
   

5.安裝openssl

cd openssl-1.1.1d
   
./config --prefix=/usr/local/ssl -d shared
   
make && make install
   
echo '/usr/local/ssl/lib' >> /etc/ld.so.conf
   
ldconfig -v
   

注:執行ldconfig -v有些報錯,直接忽略即可

6.安裝openssh-8.2p1

cd openssh-8.2p1
   
./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/ssl
   
make && make install
   

7.解除安裝由yum安裝的openssh

yum remove openssh
   

8.修改配置

啟動前要將新生成的sshd_config修改以下幾個地方

vim /usr/local/openssh/etc/sshd_config
   

   
  1. PermitRootLogin yes
  2. PubkeyAuthentication yes
  3. PasswordAuthentication yes

複製檔案到相應系統資料夾

cp  /mnt/update/openssh-8.2p1/contrib/redhat/sshd.init /etc/init.d/sshd
   
chkconfig --add sshd
   
cp /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_config
   
cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd
   
cp /usr/local/openssh/bin/ssh /usr/bin/ssh
   
cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
   
cp /usr/local/openssh/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub
   

9.啟動

service sshd restart
   

 

 

其他相關命令:

1.重啟命令

systemctl start sshd.service
   

systemctl restart sshd.service
   

2.檢視狀態

systemctl status sshd.service
   

3.啟動服務

systemctl start sshd.service
   

4.開機自啟

systemctl enable sshd.service
   

5.檢視訊息

sshd -t
   

 

相關文章