vsiu

vsiu

OpenSSH 升級(Ubuntu)

一、安裝依賴#

安裝以下依賴套件:

# 更新庫
sudo apt update 

# 安裝依賴
sudo apt install zlib1g libpam0g-dev libssl-dev

二、安裝套件下載#

下載以下軟體套件,版本參考下載說明連結:

三、準備#

驗證 telnet 服務是否可用:

telnet ip

如果登入不成功,需要安裝 telnet 服務:

# 安裝 telnet
sudo apt-get install openbsd-inetd telnetd telnet

# 啟動服務
sudo /etc/init.d/openbsd-inetd restart 

# 查看 telnet 端口
netstat -anpt | grep 23 

# 防火牆放開 23 端口
sudo ufw allow 23

# 再次測試是否成功登入
telnet ip 

四、安裝#

卸載原 openssh

sudo apt-get remove openssh-server openssh-client

ps. 此時無法再新建 ssh 連接,所以切勿關閉當前操作界面。

1. 安裝 zlib#

tar -zxvf zlib-version.tar.gz
cd zlib-version
./configure --prefix=/usr/local/zlib
make && sudo make install

2. 升級 openssl#

tar -zxvf openssl-version.tar.gz
cd openssl-version
./config shared zlib
make && sudo make install

加上 shared 參數,以免安裝 openssh 時無法找到 zlib

2.1 移走並備份原 openssl#
sudo mv /usr/bin/openssl /usr/bin/openssl.bak
sudo mv /usr/include/openssl /usr/include/openssl.bak
2.2 創建軟連結到系統位置#
sudo ln -s /usr/local/bin/openssl /usr/bin/openssl
sudo ln -s /usr/local/include/openssl /usr/include/openssl
2.3 將 openssl 的 lib 庫添加到系統#
sudo echo "/usr/local/openssl/lib64" > /etc/ld.so.conf.d/openssl.conf

# 使新添加的lib被系統找到
sudo ldconfig
2.4 查看 openssl 版本#
openssl version -a

3. 升級 openssh#

3.1 移走並備份原 openssh#
sudo mv /etc/init.d/ssh /etc/init.d/ssh.old
sudo cp -r /etc/ssh /etc/ssh.old
3.2 升級 openssh#
tar -zxvf openssh-version.tar.gz
cd openssh-version
# 需要指定openssl的安裝路徑
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-ssl-dir=/usr/local/openssl --with-privsep-path=/var/lib/sshd
make && sudo make install
3.3 查看當前 SSH 的版本#
ssh -V
sshd -V

五、修改還原預設配置#

cd /etc/ssh
sudo mv sshd_config sshd_config.default
sudo cp ../ssh.old/sshd_config ./

# 使用原來的 /etc/init.d/ssh
sudo mv /etc/init.d/ssh.old /etc/init.d/ssh

# 取消註銷指定服務
sudo systemctl unmask ssh

# 重啟sshd
sudo systemctl restart sshd

六、關閉 Telnet 服務#

  1. 停止 Telnet 服務:

    sudo systemctl stop openbsd-inetd
    
  2. 禁用 Telnet 服務:

    sudo systemctl disable openbsd-inetd
    
  3. 卸載 Telnet 伺服器(可選):

    sudo apt remove telnetd
    

    這將完全移除 Telnet 伺服器,包括配置檔案和可執行檔案。

  4. 防火牆關閉 23 端口:

    # 查看當前防火牆規則,並附帶編號
    sudo ufw status numbered
    
    # 刪除防火牆規則
    sudo ufw delete <規則編>
    
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。