编译安装openssl-1.1.1和openssh-9.4

发布时间 2023-12-27 15:41:19作者: Magiclala

1、安装 openssl-1.1.1

先处理下opensll的版本,以免编译安装Openssh环境异常:

yum remove openssl
cd /opt
wget https://www.openssl.org/source/openssl-1.1.1n.tar.gz
tar -zxvf openssl-1.1.1n.tar.gz
cd openssl-1.1.1n/
./config --prefix=/opt/openssl    # 指定 OpenSSL 的安装目录为 /opt/openssl
make depend
make && make install
ln -sf /opt/openssl/bin/openssl  /usr/bin/openssl    #需要默认在/usr/bin/下创建openssl的软连接
echo "/opt/openssl/lib/" >> /etc/ld.so.conf        #需要在环境变量中增加这一行代码
ldconfig -v            #使配置生效
openssl version

配置环境变量,在末尾加入代码 echo "/opt/openssl/lib/" >> /etc/ld.so.conf

2、编译安装Openssh高版本(升级openssh版本)

此操作不适合远程ssh登录使用,一般情况下要在本地控制台操作(如果已经yum安装过ssh,需要先卸载老版本)

yum remove openssh
cd /opt
wget https://mirrors.aliyun.com/openssh/openssh-9.4.tar.gz
tar -zxvf openssh-9.4.tar.gz
cd /opt/openssh-9.4
./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-ssl-dir=/opt/openssl --with-pam
make
make install
  • --prefix=/usr/local/openssh:指定安装目录为 /usr/local/openssh。这样,编译后的二进制文件、配置文件等将被安装到这个目录。
  • --sysconfdir=/etc/ssh:指定配置文件存放的目录为 /etc/ssh
  • --with-ssl-dir=/opt/openssl:指定 OpenSSL 的安装目录为 /opt/openssl。这是告诉 OpenSSH 在编译和链接时使用指定目录下的 OpenSSL 库。
  • --with-pam:启用对 PAM (Pluggable Authentication Modules) 的支持,允许使用 PAM 进行身份验证(安全基线配置)。

 

 

OpenSSH安装路径解读:

通过 yum 安装的 OpenSSH 通常会将文件安装到系统默认的目录结构。以下是一般情况下 OpenSSH 安装的主要目录:

  1. 可执行文件: 安装的 OpenSSH 可执行文件通常位于 /usr/bin/ 目录下。

  2. 配置文件: 配置文件通常位于 /etc/ssh/ 目录下。主要的配置文件是 sshd_config(SSH 服务器配置)和 ssh_config(SSH 客户端配置)。

  3. 密钥文件: SSH 密钥文件通常位于 /etc/ssh/ 目录下,包括主机密钥、用户密钥等。

  4. 系统服务文件: 系统服务文件通常位于 /usr/lib/systemd/system/ 目录下。例如,sshd.service 文件描述了 OpenSSH 服务器的 systemd 服务。

如果您想查看已安装的文件的详细信息,您可以使用以下命令:rpm -ql openssh

root@test-t01:/opt#rpm -ql openssh
/etc/ssh
/etc/ssh/moduli
/usr/bin/ssh-keygen
/usr/libexec/openssh
/usr/libexec/openssh/ctr-cavstest
/usr/libexec/openssh/ssh-keysign
/usr/share/doc/openssh-7.4p1
/usr/share/doc/openssh-7.4p1/CREDITS
/usr/share/doc/openssh-7.4p1/ChangeLog
/usr/share/doc/openssh-7.4p1/INSTALL
/usr/share/doc/openssh-7.4p1/OVERVIEW
/usr/share/doc/openssh-7.4p1/PROTOCOL
/usr/share/doc/openssh-7.4p1/PROTOCOL.agent
/usr/share/doc/openssh-7.4p1/PROTOCOL.certkeys
/usr/share/doc/openssh-7.4p1/PROTOCOL.chacha20poly1305
/usr/share/doc/openssh-7.4p1/PROTOCOL.key
/usr/share/doc/openssh-7.4p1/PROTOCOL.krl
/usr/share/doc/openssh-7.4p1/PROTOCOL.mux
/usr/share/doc/openssh-7.4p1/README
/usr/share/doc/openssh-7.4p1/README.dns
/usr/share/doc/openssh-7.4p1/README.platform
/usr/share/doc/openssh-7.4p1/README.privsep
/usr/share/doc/openssh-7.4p1/README.tun
/usr/share/doc/openssh-7.4p1/TODO
/usr/share/licenses/openssh-7.4p1
/usr/share/licenses/openssh-7.4p1/LICENCE
/usr/share/man/man1/ssh-keygen.1.gz
/usr/share/man/man8/ssh-keysign.8.gz
root@test-t01:/opt#

这将列出 openssh 软件包中安装的所有文件及其路径。根据不同的系统版本和软件包版本,目录结构可能会有轻微的变化,因此请根据您的系统具体情况进行适当的调整。