vsiu

vsiu

OpenSSH 升级(Unbuntu )

一、 安装依赖#

安装以下依赖包:

# 更新库
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 <规则编>
    
加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。