跳转到主要内容

openssh升级

重要,在测试使用新d客户端连接成前,千万不要断开ssh连接,否则就链接不上了,确定升级完成、且新的客户端可以连接后才断开

请确保电脑连接了电源,网络畅通

openssh升级

openssh 源代码发布网站:https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/

# 查看sshd版本
sshd -V

# 下载最新的ssh源代码
# https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.7p1.tar.gz

# 解压源代码
tar -xvzf openssh-9.7p1.tar.gz

# 安装GCC编译器
yum install gcc

# 安装zlib依赖
yum install zlib-devel
# 安装pam依赖
yum install pam-devel

# 备份原配置文件
cp -a /etc/ssh/ /etc/ssh_bak/

# 配置与编译
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib

此时还可能提示openssl不存在、版本太低,如果本机没有openssl,则参见openssl升级

# 查看openssl版本
openssl version

# 查看openssl位置
which openssl

查看openssl库文件位置
ldd /usr/bin/openssl

# 指定openssh需要使用的库文件位置
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-ssl-dir=/usr/local/openssl/

# 编译 并 安装
make && make install

# 验证ssh版本
ssh -V
sshd -V

# 验证配置文件正确性
/usr/sbin/sshd -t -f /etc/ssh/sshd_config

# 修改配置文件权限,如果验证配置文件正确性语句出错的话
chmod 0600 /etc/ssh/ssh_host_rsa_key
chmod 0600 /etc/ssh/ssh_host_ecdsa_key
chmod 0600 /etc/ssh/ssh_host_ed25519_key

# 修改配置文件,如果验证配置文件正确性语句出错的话
vi /etc/ssh/sshd_config

# 修个sshd_config配置文件,启用以下两个配置
UsePAM yes
PermitRootLogin yes
# 修个sshd_config配置文件,禁用以下四个配置
#GSSAPIAuthentication yes
#GSSAPICleanupCredentials no
#GSSAPIStrictAcceptorCheck yes
#GSSAPIKeyExchange no
#GSSAPIEnablek5users no

# 重启sshd服务,
systemctl restart sshd

# 此时可能重启失败,使用journalctl -xe 查看错误信息,一般是提示找不到 libcrypto.so.3 库
# 将库建立软连接到共享库目录
ln -s /usr/local/openssl/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3

# 重启sshd服务卡主,修改服务通知类型为simple
vi /usr/lib/systemd/system/sshd.service
# Type=simple

systemctl daemon-reload
# 重启sshd服务
systemctl restart sshd


升级完成后,旧版的xshell提示,找不到匹配的host key算法 这是旧版xhsell的bug,需要升级xshell

升级openssl

openssl升级

  1. 首先,你需要下载 OpenSSL 的源代码,可以在 OpenSSL 的官方网站(https://www.openssl.org/source/)上找到。下载完成后,将源代码文件解压到一个目录中,例如 /usr/local/src
cd /usr/local/src
wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz
tar -zxvf openssl-1.1.1w.tar.gz
  1. 进入解压后的目录,编译和安装 OpenSSL。
cd openssl-1.1.1g
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
make
make test
make install

这些命令会将 OpenSSL 安装到 /usr/local/openssl 目录中。

  1. 最后,你需要设置环境变量,以便系统能够找到新安装的 OpenSSL。

现在,你应该能够使用 openssl version 命令来检查新安装的 OpenSSL 的版本了。

注:常见的报错处理 openssl: error while loading shared libraries: libssl.so.3: cannot open shared object file: No such file or directory

export LD_LIBRARY_PATH="/usr/local/openssl/lib64:$LD_LIBRARY_PATH"

注2:安装前记得先备份原文件

openssh编译安装

  1. 首先,从OpenSSH的官方网站(https://www.openssh.com/)下载最新版本的源代码包。解压源代码包。在命令行中,使用以下命令将源代码包解压到您选择的目录中:
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.7p1.tar.gz
tar -xvzf openssh-9.7p1.tar.gz

(将"openssh-X.X.tar.gz"替换为您下载的源代码包的实际文件名)

  1. 进入解压后的目录,编译和安装 Openssh
cd openssh-X.X
./configure --prefix=/usr/local/openssh
make
sudo make install
  1. 完成安装后,编辑SSH配置文件(通常位于/etc/ssh/sshd_config)以进行必要的更改。例如,您可以配置端口号、允许的用户等等。保存并关闭文件。

  2. 重新启动SSH服务以使更改生效。在命令行中,运行以下命令:

sudo systemctl restart sshd
  1. 最后,验证OpenSSH是否已成功安装。在命令行中,运行以下命令:
ssh -V