Sistema operacional de atualização do Linux Openssh versão 9.3p1 (compilação e instalação do código-fonte)

Sistema operacional de atualização do Linux Openssh versão 9.3p1 (compilação e instalação do código-fonte)

Preparar para implantação

  • instalar dependências
    • yum install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel pam-devel
    • yum install -y pam* zlib*
  • openssh-9.3p1.tar.gz
  • openssl-3.1.0.tar.gz
  • arquivo de backup
    • cp /etc/pam.d/sshd /etc/pam.d/sshd.bak

Atualizar Openssl

Descompacte o pacote de instalação

  • tar zxvf openssl-3.1.0.tar.gz
  • cd openssl-3.1.0

Backup do Openssl antigo

  • mv /usr/bin/openssl /usr/bin/openssl_old
  • mv /usr/include/openssl /usr/include/openssl_old

Compilar e instalar o Openssl

  • ./config --prefix=/usr/local/openssl && make && make install

Criar soft links do sistema operacional

  • ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
  • ln -s /usr/local/openssl/include/openssl /usr/include/openssl

Definir biblioteca de carga

  • Nota: O nome da biblioteca lib, a versão antiga é 'lib' e a nova versão é compilada como 'lib64', portanto, verifique o nome da biblioteca lib do caminho que você instalou após a conclusão da compilação
  • echo "/usr/local/openssl/lib64" >> /etc/ld.so.conf
  • ldconfig -v

Verifique a versão do Openssl

  • openssl version

Atualizar Openssh

Descompacte o pacote de instalação do openssh

  • tar zxvf openssh-9.3p1.tar.gz
  • cd openssh-9.3p1/

backup antigo diretório openssl

  • mv /etc/ssh /etc/ssh_old

Compilar e instalar o Openssh

  • ./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-tcp-wrappers --with-ssl-dir=/usr/local/openssl --with-zlib=/usr/local/lib64 --without-hardening
  • make && make install

backup de arquivos antigos

  • mv /usr/sbin/sshd /usr/sbin/sshd_old
  • mv /etc/sysconfig/sshd /etc/sysconfig/sshd_old
  • mv /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/sshd.service_old

desinstalar o openssh

  • for i in $(rpm -qa |grep openssh);do rpm -e $i --nodeps ;done

restaurar arquivo de configuração openssh

  • cp -a /etc/ssh_old/sshd_config /etc/ssh/sshd_config
  • mv /etc/ssh/moduli.rpmsave /etc/ssh/moduli
  • mv /etc/pam.d/sshd.bak /etc/pam.d/sshd

Substitua a nova versão dos comandos relacionados ao openssh

  • cp -arf /usr/local/openssh/bin/* /usr/bin/
  • cp -arf /usr/local/openssh/sbin/sshd /usr/sbin/sshd

copiar script de inicialização

  • cp -a contrib/redhat/sshd.init /etc/init.d/sshd
  • cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
  • chmod +x /etc/init.d/sshd
# 此处如果是SUSE操作系统,对应的目录是contrib/susu/
cp -a contrib/suse/rc.sshd /etc/init.d/sshd
cp -a contrib/suse/sysconfig.ssh /etc/sysconfig/ssh

Defina a inicialização e verifique a versão

  • systemctl daemon-reload
  • chkconfig --add sshd && chkconfig sshd on
  • systemctl start sshd
  • ssh -V

definir segurança

Verifique a configuração e comente os parâmetros não suportados

  • sshd -t

Pise no poço

  • /etc/pam.d/sshd conteúdo de configuração
#%PAM-1.0
auth       substack     password-auth
auth       include      postlogin
account    required     pam_sepermit.so
account    required     pam_nologin.so
account    include      password-auth
password   include      password-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required     pam_selinux.so open env_params
session    required     pam_namespace.so
session    optional     pam_keyinit.so force revoke
session    optional     pam_motd.so
session    include      password-auth
session    include      postlogin
  • ssh remote outra máquina reporta um erro
mv /etc/ssh/ssh_config /etc/ssh/ssh_config_new
mv /etc/ssh/ssh_config.rpmsave /etc/ssh/ssh_config
systemctl restart sshd
  • Sistema operacional Anolis

    • Precisa instalar pcre e perl separadamente
  • Após a conclusão da atualização, outros servidores não podem usar scp para transferir dados para o servidor atualizado

    • Use scp -O para forçar o uso da versão antiga do scp

Acho que você gosta

Origin blog.csdn.net/Lz__Heng/article/details/130682119
Recomendado
Clasificación