AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / 问题

All perguntas(server)

Martin Hope
recmad
Asked: 2024-07-10 20:16:36 +0800 CST

Configuração avançada de política de auditoria usando PowerShell

  • 4

Criei um GPO para habilitar políticas de auditoria avançadas e configurações de segurança.

Configurações de política relacionadas

Preciso editar e ativar as configurações usando o PowerShell.

Quais são as chaves de registro relacionadas?

Como posso editar usando o PowerShell?

Você poderia me ajudar por favor?

Desde já, obrigado!

active-directory
  • 1 respostas
  • 74 Views
Martin Hope
jamiet
Asked: 2024-07-10 16:24:22 +0800 CST

Como instalo o python no bookworm debian?

  • 5

Estou tentando instalar o python em um contêiner debian e por algum motivo essa coisa muito simples não está se comportando como eu esperava. A imagem base que estou usando é mr.microsoft.com/devcontainers/base:bookworm.

Meu problema é facilmente reproduzido emitindo

docker run -it mcr.microsoft.com/devcontainers/base:bookworm sh -c "apt-get update && apt-get install -y python3-full && python"

Isso executa a instalação, python3-fullmas simplesmente executar o python no final falha com

sh: 1: python: não encontrado

Tenho certeza de que estou perdendo algo simples, mas esta não é uma área de especialização para mim, então qualquer conselho seria recebido com gratidão.

debian
  • 1 respostas
  • 19 Views
Martin Hope
lostsoul6
Asked: 2024-07-10 06:59:48 +0800 CST

IPv6 desaparece das máquinas virtuais após exatos 30 minutos

  • 6

Eu tenho um servidor dedicado hospedado em um data center local e o VMware Esxi 7 está instalado nele. Recentemente, encomendei um intervalo IPv6 e assim que me disseram que o intervalo IPv6 está ativado, percebi que todas as VMs no VMware Esxi receberam automaticamente um IPv6 sem que eu tivesse configurado nada no VMware Esxi ou nos sistemas operacionais convidados, como um Ubuntu 22 VM.

Percebi que minha conectividade IPv6 foi perdida na VM Ubuntu 22 (ou em qualquer outra VM) após exatamente 30 minutos! Depois de reiniciar a VM, o IPv6 começa a funcionar e para de funcionar novamente exatamente 30 minutos.

Esta é a saída do comando ip -6 route no Ubuntu 22 VM quando o IPv6 está funcionando:

root@testsocat:~# ip -6 route
::1 dev lo proto kernel metric 256 pref medium
2a05:1a18:0:12::/64 dev ens160 proto ra metric 1024 expires 2591592sec pref medium
fe80::/64 dev ens160 proto kernel metric 256 pref medium
default via fe80::82e0:1dff:fe6f:3e00 dev ens160 proto ra metric 1024 expires 1392sec mtu 1500 pref medium

Esta é a saída do comando ip -6 route no Ubuntu 22 VM quando o IPv6 não está funcionando e desapareceu após 30 minutos:

root@testsocat:~# ip -6 route
::1 dev lo proto kernel metric 256 pref medium
2a05:1a18:0:12::/64 dev ens160 proto ra metric 1024 expires 2589957sec pref medium
fe80::/64 dev ens160 proto kernel metric 256 pref medium

Como você pode ver, esta entrada é removida após 30 minutos:

default via fe80::82e0:1dff:fe6f:3e00 dev ens160 proto ra metric 1024 expires 1392sec mtu 1500 pref medium

Em seguida, adicionei manualmente a rota do gateway de volta com este comando:

ip -6 route add default via fe80::82e0:1dff:fe6f:3e00 dev ens160

Ao fazer isso, o IPv6 volta a funcionar e não para de funcionar mesmo depois de 30 minutos!

O data center insiste que a configuração do intervalo IPv6 está correta e que o problema está do nosso lado. No entanto, testei isso em várias VMs (Ubuntu, Centos e Windows). Acontece em todos eles. Além disso, não vejo nenhuma configuração no VMware que possa fazer com que os endereços IPv6 parem de funcionar após 30 minutos.

Alguém pode me ajudar a entender o que está errado aqui? Por que o IPv6 atribuído automaticamente desaparece das VMs exatamente em 30 minutos? Por que funciona novamente quando reinicio a VM? Por que ele não para de funcionar quando adiciono manualmente a rota do gateway no sistema operacional convidado?

Tenho outro servidor dedicado com a mesma configuração em outro datacenter que possui faixa IPv6, mas não apresenta esse problema. Eles bagunçaram algum parâmetro ao configurar meu intervalo IPv6?

Eu ficaria muito grato se você pudesse me ajudar a entender o que está errado e consertar. Estou lidando com isso há dias.

EDIT 1: Usando "rdisc6 ens160", consegui fazer com que a rota padrão aparecesse novamente. Aqui está a saída do comando na íntegra:

root@testsocat:~# rdisc6 ens160
Soliciting ff02::2 (ff02::2) on ens160...

Hop limit                 :           64 (      0x40)
Stateful address conf.    :           No
Stateful other conf.      :           No
Mobile home agent         :           No
Router preference         :       medium
Neighbor discovery proxy  :           No
Router lifetime           :         1800 (0x00000708) seconds
Reachable time            :  unspecified (0x00000000)
Retransmit time           :  unspecified (0x00000000)
 Source link-layer address: 80:E0:1D:6F:3E:00
 MTU                      :         1500 bytes (valid)
 Prefix                   : 2a05:1a18:0:12::/64
  On-link                 :          Yes
  Autonomous address conf.:          Yes
  Valid time              :      2592000 (0x00278d00) seconds
  Pref. time              :       604800 (0x00093a80) seconds
 from fe80::82e0:1dff:fe6f:3e00
root@testsocat:~# ip -6 route
::1 dev lo proto kernel metric 256 pref medium
2a05:1a18:0:12::/64 dev ens160 proto ra metric 1024 expires 2591981sec pref medium
fe80::/64 dev ens160 proto kernel metric 256 pref medium
default via fe80::82e0:1dff:fe6f:3e00 dev ens160 proto ra metric 1024 expires 1781sec mtu 1500 pref medium

EDIT 2: usando "tshark -n -i ens160 -f icmp6 -Y "icmpv6.type == 134" -VO "frame,icmpv6", isto é o que consegui:

 ** (tshark:5007) 00:28:32.821551 [Main MESSAGE] -- Capture started.
 ** (tshark:5007) 00:28:32.822018 [Main MESSAGE] -- File: "/tmp/wireshark_ens160                                                                                                                                                             7OI6P2.pcapng"
Frame 2: 118 bytes on wire (944 bits), 118 bytes captured (944 bits) on interfac                                                                                                                                                             e ens160, id 0
    Interface id: 0 (ens160)
        Interface name: ens160
    Encapsulation type: Ethernet (1)
    Arrival Time: Jul 10, 2024 00:29:25.087268913 UTC
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1720571365.087268913 seconds
    [Time delta from previous captured frame: 0.002588177 seconds]
    [Time delta from previous displayed frame: 0.000000000 seconds]
    [Time since reference or first frame: 0.002588177 seconds]
    Frame Number: 2
    Frame Length: 118 bytes (944 bits)
    Capture Length: 118 bytes (944 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ethertype:ipv6:icmpv6]
Ethernet II, Src: 80:e0:1d:6f:3e:00, Dst: 00:0c:29:ea:8d:6f
Internet Protocol Version 6, Src: fe80::82e0:1dff:fe6f:3e00, Dst: fe80::6f36:a5e                                                                                                                                                             0:992f:72bd
Internet Control Message Protocol v6
    Type: Router Advertisement (134)
    Code: 0
    Checksum: 0xff54 [correct]
    [Checksum Status: Good]
    Cur hop limit: 64
    Flags: 0x00, Prf (Default Router Preference): Medium
        0... .... = Managed address configuration: Not set
        .0.. .... = Other configuration: Not set
        ..0. .... = Home Agent: Not set
        ...0 0... = Prf (Default Router Preference): Medium (0)
        .... .0.. = Proxy: Not set
        .... ..0. = Reserved: 0
    Router lifetime (s): 1800
    Reachable time (ms): 0
    Retrans timer (ms): 0
    ICMPv6 Option (Source link-layer address : 80:e0:1d:6f:3e:00)
        Type: Source link-layer address (1)
        Length: 1 (8 bytes)
        Link-layer address: 80:e0:1d:6f:3e:00
    ICMPv6 Option (MTU : 1500)
        Type: MTU (5)
        Length: 1 (8 bytes)
        Reserved
        MTU: 1500
    ICMPv6 Option (Prefix information : 2a05:1a18:0:12::/64)
        Type: Prefix information (3)
        Length: 4 (32 bytes)
        Prefix Length: 64
        Flag: 0xc0, On-link flag(L), Autonomous address-configuration flag(A)
            1... .... = On-link flag(L): Set
            .1.. .... = Autonomous address-configuration flag(A): Set
            ..0. .... = Router address flag(R): Not set
            ...0 0000 = Reserved: 0
        Valid Lifetime: 2592000
        Preferred Lifetime: 604800
        Reserved
        Prefix: 2a05:1a18:0:12::

EDIT 3: Um segundo pacote RA chegou! o carimbo de data / hora é interessante. O primeiro foi enviado às 00:29:25, o segundo foi enviado às 01:04:24. Há um intervalo de 35 minutos entre eles e a vida útil do roteador é de 30 minutos!

Frame 45: 118 bytes on wire (944 bits), 118 bytes captured (944 bits) on interface ens160, id 0
    Interface id: 0 (ens160)
        Interface name: ens160
    Encapsulation type: Ethernet (1)
    Arrival Time: Jul 10, 2024 01:04:24.430745189 UTC
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1720573464.430745189 seconds
    [Time delta from previous captured frame: 0.002469817 seconds]
    [Time delta from previous displayed frame: 2099.343476276 seconds]
    [Time since reference or first frame: 2099.346064453 seconds]
    Frame Number: 45
    Frame Length: 118 bytes (944 bits)
    Capture Length: 118 bytes (944 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ethertype:ipv6:icmpv6]
Ethernet II, Src: 80:e0:1d:6f:3e:00, Dst: 00:0c:29:12:f4:07
Internet Protocol Version 6, Src: fe80::82e0:1dff:fe6f:3e00, Dst: fe80::905f:89e5:45e4:2838
Internet Control Message Protocol v6
    Type: Router Advertisement (134)
    Code: 0
    Checksum: 0x97f7 [correct]
    [Checksum Status: Good]
    Cur hop limit: 64
    Flags: 0x00, Prf (Default Router Preference): Medium
        0... .... = Managed address configuration: Not set
        .0.. .... = Other configuration: Not set
        ..0. .... = Home Agent: Not set
        ...0 0... = Prf (Default Router Preference): Medium (0)
        .... .0.. = Proxy: Not set
        .... ..0. = Reserved: 0
    Router lifetime (s): 1800
    Reachable time (ms): 0
    Retrans timer (ms): 0
    ICMPv6 Option (Source link-layer address : 80:e0:1d:6f:3e:00)
        Type: Source link-layer address (1)
        Length: 1 (8 bytes)
        Link-layer address: 80:e0:1d:6f:3e:00
    ICMPv6 Option (MTU : 1500)
        Type: MTU (5)
        Length: 1 (8 bytes)
        Reserved
        MTU: 1500
    ICMPv6 Option (Prefix information : 2a05:1a18:0:12::/64)
        Type: Prefix information (3)
        Length: 4 (32 bytes)
        Prefix Length: 64
        Flag: 0xc0, On-link flag(L), Autonomous address-configuration flag(A)
            1... .... = On-link flag(L): Set
            .1.. .... = Autonomous address-configuration flag(A): Set
            ..0. .... = Router address flag(R): Not set
            ...0 0000 = Reserved: 0
        Valid Lifetime: 2592000
        Preferred Lifetime: 604800
        Reserved
        Prefix: 2a05:1a18:0:12::

EDIT 4: OK, agora estou confuso! os pacotes RA 3 e 4 chegaram e desta vez são enviados mais cedo. o terceiro pacote chegou às 01:26:15 (intervalo de 22 minutos entre este e o anterior) e o quarto pacote chegou às 01:30:35 (4 minutos depois do terceiro).

Frame 50: 118 bytes on wire (944 bits), 118 bytes captured (944 bits) on interface ens160, id 0
    Interface id: 0 (ens160)
        Interface name: ens160
    Encapsulation type: Ethernet (1)
    Arrival Time: Jul 10, 2024 01:26:15.149204151 UTC
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1720574775.149204151 seconds
    [Time delta from previous captured frame: 0.001792901 seconds]
    [Time delta from previous displayed frame: 1310.718458962 seconds]
    [Time since reference or first frame: 3410.064523415 seconds]
    Frame Number: 50
    Frame Length: 118 bytes (944 bits)
    Capture Length: 118 bytes (944 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ethertype:ipv6:icmpv6]
Ethernet II, Src: 80:e0:1d:6f:3e:00, Dst: 00:0c:29:78:ad:1b
Internet Protocol Version 6, Src: fe80::82e0:1dff:fe6f:3e00, Dst: fe80::402b:9e4e:408f:3ae4
Internet Control Message Protocol v6
    Type: Router Advertisement (134)
    Code: 0
    Checksum: 0xc66b [correct]
    [Checksum Status: Good]
    Cur hop limit: 64
    Flags: 0x00, Prf (Default Router Preference): Medium
        0... .... = Managed address configuration: Not set
        .0.. .... = Other configuration: Not set
        ..0. .... = Home Agent: Not set
        ...0 0... = Prf (Default Router Preference): Medium (0)
        .... .0.. = Proxy: Not set
        .... ..0. = Reserved: 0
    Router lifetime (s): 1800
    Reachable time (ms): 0
    Retrans timer (ms): 0
    ICMPv6 Option (Source link-layer address : 80:e0:1d:6f:3e:00)
        Type: Source link-layer address (1)
        Length: 1 (8 bytes)
        Link-layer address: 80:e0:1d:6f:3e:00
    ICMPv6 Option (MTU : 1500)
        Type: MTU (5)
        Length: 1 (8 bytes)
        Reserved
        MTU: 1500
    ICMPv6 Option (Prefix information : 2a05:1a18:0:12::/64)
        Type: Prefix information (3)
        Length: 4 (32 bytes)
        Prefix Length: 64
        Flag: 0xc0, On-link flag(L), Autonomous address-configuration flag(A)
            1... .... = On-link flag(L): Set
            .1.. .... = Autonomous address-configuration flag(A): Set
            ..0. .... = Router address flag(R): Not set
            ...0 0000 = Reserved: 0
        Valid Lifetime: 2592000
        Preferred Lifetime: 604800
        Reserved
        Prefix: 2a05:1a18:0:12::

Frame 55: 118 bytes on wire (944 bits), 118 bytes captured (944 bits) on interface ens160, id 0
    Interface id: 0 (ens160)
        Interface name: ens160
    Encapsulation type: Ethernet (1)
    Arrival Time: Jul 10, 2024 01:30:35.107428556 UTC
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1720575035.107428556 seconds
    [Time delta from previous captured frame: 0.002612786 seconds]
    [Time delta from previous displayed frame: 259.958224405 seconds]
    [Time since reference or first frame: 3670.022747820 seconds]
    Frame Number: 55
    Frame Length: 118 bytes (944 bits)
    Capture Length: 118 bytes (944 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ethertype:ipv6:icmpv6]
Ethernet II, Src: 80:e0:1d:6f:3e:00, Dst: 00:0c:29:ea:8d:6f
Internet Protocol Version 6, Src: fe80::82e0:1dff:fe6f:3e00, Dst: fe80::6f36:a5e0:992f:72bd
Internet Control Message Protocol v6
    Type: Router Advertisement (134)
    Code: 0
    Checksum: 0xff54 [correct]
    [Checksum Status: Good]
    Cur hop limit: 64
    Flags: 0x00, Prf (Default Router Preference): Medium
        0... .... = Managed address configuration: Not set
        .0.. .... = Other configuration: Not set
        ..0. .... = Home Agent: Not set
        ...0 0... = Prf (Default Router Preference): Medium (0)
        .... .0.. = Proxy: Not set
        .... ..0. = Reserved: 0
    Router lifetime (s): 1800
    Reachable time (ms): 0
    Retrans timer (ms): 0
    ICMPv6 Option (Source link-layer address : 80:e0:1d:6f:3e:00)
        Type: Source link-layer address (1)
        Length: 1 (8 bytes)
        Link-layer address: 80:e0:1d:6f:3e:00
    ICMPv6 Option (MTU : 1500)
        Type: MTU (5)
        Length: 1 (8 bytes)
        Reserved
        MTU: 1500
    ICMPv6 Option (Prefix information : 2a05:1a18:0:12::/64)
        Type: Prefix information (3)
        Length: 4 (32 bytes)
        Prefix Length: 64
        Flag: 0xc0, On-link flag(L), Autonomous address-configuration flag(A)
            1... .... = On-link flag(L): Set
            .1.. .... = Autonomous address-configuration flag(A): Set
            ..0. .... = Router address flag(R): Not set
            ...0 0000 = Reserved: 0
        Valid Lifetime: 2592000
        Preferred Lifetime: 604800
        Reserved
        Prefix: 2a05:1a18:0:12::
networking
  • 1 respostas
  • 94 Views
Martin Hope
RDLR
Asked: 2024-07-08 22:50:22 +0800 CST

Um MDRAID do Linux pode ser transferido para um controlador diferente no mesmo sistema?

  • 6

Eu tenho um servidor Linux com uma matriz mdraid de 4 discos controlada por um HBA (LSI SAS9300-8i) - se eu realocar os discos para um gabinete JBOD externo controlado por um HBA diferente (Broadcom SAS3008), o sistema ainda reconhecerá a matriz ? Executando o Servidor Fedora 40.

mdraid
  • 1 respostas
  • 27 Views
Martin Hope
hyhno01
Asked: 2024-07-08 21:06:24 +0800 CST

Ubuntu: Use anacron e rsync para backups mensais em unidade externa

  • 5

Meu objetivo é gravar backups mensais do meu /home/diretório do Ubuntu em um drive externo, que depois de conectá-lo ao computador posso ver em /media/ironman/Elements. Para esse fim eu uso rsync.

A unidade externa nem sempre está montada, então criei um script interativo, solicitando que eu monte a unidade quando ela não estiver. Quero agendar esse script anacronporque meu laptop é desligado regularmente. Acho que minha configuração não funciona por causa da parte interativa: quando executo o script na linha de comando, posso ver naturalmente sua saída na mesma linha de comando. No entanto, o anacron não é executado na linha de comando.

Este é o roteiro em/home/ironman/scripts/backup_anacron.sh

#!/bin/bash

# Variables
SOURCE_DIR="/home/ironman"
TARGET_DIR="/media/ironman/Elements/backup_$(date +%Y%m%d)"
EXCLUDES="--exclude=\"lost+found\" --exclude=\".cache\""
RSYNC_CMD="rsync -a --info=progress2 $EXCLUDES $SOURCE_DIR/ $TARGET_DIR"


# Function to check if the drive is mounted
check_mount() {
    if grep -qs "/media/ironman/Elements " /proc/mounts; then
        echo "Backup drive is mounted."
        return 0
    else
        return 1
    fi
}

# Check whether backup drive has enough free space
check_space() {
    # Get available space on target drive in kilobytes
    available_space=$(df --output=avail "/media/ironman/Elements" | tail -1)
    # Get required space for the source directory in kilobytes
    required_space=$(du -sk "$SOURCE_DIR" | cut -f1)
    
    if [ "$available_space" -ge "$required_space" ]; then
        echo "Enough space on backup drive. Required: $required_space KB, Available: $available_space KB."
        return 0
    else
        echo "Not enough space on backup drive. Required: $required_space KB, Available: $available_space KB. Manual backup necessary"
        echo $RSYNC_CMD
        exit 1
    fi
}

# Initial check
check_mount
if [ $? -eq 1 ]; then

    # If the drive is not mounted, prompt the user
    echo "Please mount drive within one minute."

    # Wait for up to 60 seconds for the drive to be mounted
    for i in {1..60}; do
    
        # check every second if drive is mounted
        sleep 1
        check_mount
        if [ $? -eq 0 ]; then
        
            # if enough space available, execute rsync, else print error message
        check_space
        if [ $? -eq 0 ]; then
                eval $RSYNC_CMD
                exit 0 
            fi
        fi
    done
fi


# If the drive is still not mounted after 60 seconds, print an error message
if [ $? -eq 1 ]; then
    echo "Backup drive is not mounted. Could not backup /home/ironman/. Command for manual backup:"
    echo $RSYNC_CMD
    exit 1
fi

# if enough space available, execute rsync, else exit script
check_space
if [ $? -eq 0 ]; then
    eval $RSYNC_CMD
    exit 0
fi

Adicionei a seguinte linha no final de /etc/anacrontab:

@monthly 15 backup.monthly nice /home/ironman/scripts/backup_anacron.sh

Quando forço a execução das tarefas mensais /usr/sbin/anacron -n -f cron.monthly, nada acontece. O que estou fazendo de errado?

backup
  • 3 respostas
  • 29 Views
Martin Hope
ZPMMaker
Asked: 2024-07-08 13:28:57 +0800 CST

Como habilito o Google Authenticator (TOTP) com chaves SSH com uma senha longa no Debian 12?

  • 6

DR: executei o google-authenticator quando logado como usuário root. Eu deveria ter executado isso como minha conta de usuário normal.

Acabei de instalar o Debian 12 em um Apple Mac Mini sobressalente. Quero controlá-lo via SSH do meu iMac. Quero usar chaves SSH com uma senha longa e também quero usar o Google Authenticator para autenticação multifator.

No iMac, criei chaves ssh usando ssh-keygen -t rsa e especifiquei uma senha longa. Em seguida, usei ssh-copy-id [email protected] para copiar a chave pública para o servidor Debian remoto.

Eu queria desabilitar o login somente com senha, então adicionei as duas linhas a seguir no final de /etc/ssh/sshd_config:

Match User david
PasswordAuthentication no

Em seguida, executei systemctl restart sshd e efetuei logout da máquina remota. Tentei fazer login novamente e me pediram a senha, mas não a senha. Até agora tudo bem.

Em seguida, segui estes dois guias para configurar o Google Authenticator: Guia 1 Guia 2

(Eu loguei como usuário root, então não precisei adicionar sudo no início de tudo...)

Especificamente:

apt install -y libpam-google-authenticator
google-authenticator
(answered yes to all four questions asked by Google Authenticator setup)
nano /etc/ssh/sshd_config
->Set UsePAM yes
->Added a line at the end of the file "ChallengeResponseAuthentication yes"
->Added another line at the end of the file "AuthenticationMethods publickey,keyboard-interactive"
->Saved and closed /etc/ssh/sshd_config
nano /etc/pam.d/sshd
->Commented out the line "@include common-auth"
->Added a line at the end of the file "auth   required   pam_google_authenticator.so"
->Saved and closed /etc/pam.d/sshd
systemctl restart ssh

Tentei fazer login com uma janela de terminal diferente no meu iMac, mas recebi o seguinte erro:

Desconexão recebida da porta 192.168.4.7 22:2: nenhum método de autenticação ativado

Desconectado da porta 192.168.4.7 22

Consegui reverter minhas alterações nos dois arquivos e reconectar apenas usando a senha. No entanto, não consigo solicitar minha senha e o código do Google Authenticator.

O que estou fazendo de errado, por favor?

Encontrei um problema semelhante , mas a única resposta não fornece detalhes suficientes.

Em seguida, certifique-se de que a autenticação PAM seja exigida pela sua configuração (a parte da autenticação de senha PAM será ignorada se o método de autenticação de chave pública for bem-sucedido). Você pode fazer isso definindo AuthenticationMethods apropriados em sshd_config.

Infelizmente, eles não explicam como definir "AutenticationMethods apropriados em sshd_config", então isso não é de muita ajuda para mim ...

Agradeço antecipadamente.

Conteúdo completo de /etc/ssh/sshd_config:

Include /etc/ssh/sshd_config.d/*.conf
KbdInteractiveAuthentication no
UsePAM yes
X11Forwarding yes
PrintMotd no
AcceptEnv LANG LC_*
Subsystem       sftp    /usr/lib/openssh/sftp-server
ChallengeResponseAuthentication yes
Match User david
PasswordAuthentication no
AuthenticationMethods publickey,keyboard-interactive

(além de um monte de outras linhas que omiti porque estão comentadas).

Conteúdo completo de /etc/pam.d/sshd:

account    required     pam_nologin.so
@include common-account
session [success=ok ignore=ignore module_unknown=ignore default=bad]        pam_selinux.so close
session    required     pam_loginuid.so
session    optional     pam_keyinit.so force revoke
@include common-session
session    optional     pam_motd.so  motd=/run/motd.dynamic
session    optional     pam_motd.so noupdate
session    optional     pam_mail.so standard noenv # [1]
session    required     pam_limits.so
session    required     pam_env.so # [1]
session    required     pam_env.so user_readenv=1 envfile=/etc/default/locale
session [success=ok ignore=ignore module_unknown=ignore default=bad]        pam_selinux.so open
@include common-password
auth required pam_google_authenticator.so

(além de um monte de outras linhas que omiti porque estão comentadas)

Atualize após ser avisado para verificar os logs do Zoredache nos comentários...

Saída completa de ssh -vvv [email protected] executado no iMac ao tentar conectar-se ao Mac Mini:

$ ssh -vvv [email protected]
OpenSSH_9.6p1, LibreSSL 3.3.6
[omitting a very long log file with no useful information as this website has a character limit and I would exceed it if I kept this here]
debug3: kex_input_ext_info: extension [email protected]
debug1: kex_ext_info_check_ver: [email protected]=<0>
debug3: receive packet: type 6
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug3: send packet: type 50
debug3: receive packet: type 1
Received disconnect from 192.168.4.7 port 22:2: no authentication methods enabled
Disconnected from 192.168.4.7 port 22

...nada muito útil aí. Verificando os registros no Mac Mini:

$ journalctl --since "1 hour ago" 
Jul 09 06:50:05 docker1 sshd[10682]: error: Disabled method "keyboard-interactive" in AuthenticationMethods list "publickey,keyboard-interactive"
Jul 09 06:50:05 docker1 sshd[10682]: Authentication methods list "publickey,keyboard-interactive" contains disabled method, skipping
Jul 09 06:50:05 docker1 sshd[10682]: error: No AuthenticationMethods left after eliminating disabled methods
Jul 09 06:50:05 docker1 sshd[10682]: error: Disabled method "keyboard-interactive" in AuthenticationMethods list "publickey,keyboard-interactive" [preauth]
Jul 09 06:50:05 docker1 sshd[10682]: Authentication methods list "publickey,keyboard-interactive" contains disabled method, skipping [preauth]
Jul 09 06:50:05 docker1 sshd[10682]: error: No AuthenticationMethods left after eliminating disabled methods [preauth]
Jul 09 06:50:05 docker1 sshd[10682]: Disconnecting authenticating user david 192.168.4.6 port 50344: no authentication methods enabled [preauth]
Jul 09 06:53:00 docker1 sshd[10702]: error: Disabled method "keyboard-interactive" in AuthenticationMethods list "publickey,keyboard-interactive"
Jul 09 06:53:00 docker1 sshd[10702]: Authentication methods list "publickey,keyboard-interactive" contains disabled method, skipping
Jul 09 06:53:00 docker1 sshd[10702]: error: No AuthenticationMethods left after eliminating disabled methods
Jul 09 06:53:00 docker1 sshd[10702]: error: Disabled method "keyboard-interactive" in AuthenticationMethods list "publickey,keyboard-interactive" [preauth]
Jul 09 06:53:00 docker1 sshd[10702]: Authentication methods list "publickey,keyboard-interactive" contains disabled method, skipping [preauth]
Jul 09 06:53:00 docker1 sshd[10702]: error: No AuthenticationMethods left after eliminating disabled methods [preauth]
Jul 09 06:53:00 docker1 sshd[10702]: Disconnecting authenticating user david 192.168.4.6 port 50587: no authentication methods enabled [preauth]

Ah-hah!

Pesquisei no Google, encontrei this e anotei especificamente a citação sobre "KbdInteractiveAuthentication".

Então entrei em /etc/ssh/sshd_config e mudei KbdInteractiveAuthenticationde não para sim. Eu também comentei a linha, ChallengeResponseAuthentication yespois ela parece estar obsoleta.

systemctl restart sshd

Então tentei fazer login novamente. Eu cheguei mais perto; Pediram-me a senha e o código do Google Authenticator. No entanto, o código do Google Authenticator foi rejeitado repetidamente e não consegui fazer login.

$ ssh -vvv [email protected]
OpenSSH_9.6p1, LibreSSL 3.3.6
debug1: Reading configuration data /Users/david/.ssh/config
debug1: /Users/david/.ssh/config line 1: Applying options for 192.168.4.7
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 21: include /etc/ssh/ssh_config.d/* matched no files
debug1: /etc/ssh/ssh_config line 54: Applying options for *
debug2: resolve_canonicalize: hostname 192.168.4.7 is address
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts' -> '/Users/david/.ssh/known_hosts'
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts2' -> '/Users/david/.ssh/known_hosts2'
debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling
debug3: channel_clear_timeouts: clearing
debug3: ssh_connect_direct: entering
debug1: Connecting to 192.168.4.7 [192.168.4.7] port 22.
debug3: set_sock_tos: set socket 3 IP_TOS 0x48
debug1: Connection established.
debug1: identity file /Users/david/.ssh/docker1_id_rsa type 0
debug1: identity file /Users/david/.ssh/docker1_id_rsa-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_9.6
debug1: Remote protocol version 2.0, remote software version OpenSSH_9.2p1 Debian-2+deb12u3
debug1: compat_banner: match: OpenSSH_9.2p1 Debian-2+deb12u3 pat OpenSSH* compat 0x04000000
debug2: fd 3 setting O_NONBLOCK
debug1: Authenticating to 192.168.4.7:22 as 'david'
debug3: record_hostkey: found key type ED25519 in file /Users/david/.ssh/known_hosts:31
debug3: record_hostkey: found key type RSA in file /Users/david/.ssh/known_hosts:32
debug3: record_hostkey: found key type ECDSA in file /Users/david/.ssh/known_hosts:33
debug3: load_hostkeys_file: loaded 3 keys from 192.168.4.7
debug1: load_hostkeys: fopen /Users/david/.ssh/known_hosts2: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug3: order_hostkeyalgs: have matching best-preference key type [email protected], using HostkeyAlgorithms verbatim
debug3: send packet: type 20
debug1: SSH2_MSG_KEXINIT sent
debug3: receive packet: type 20
debug1: SSH2_MSG_KEXINIT received
debug2: local client KEXINIT proposal
debug2: KEX algorithms: [email protected],curve25519-sha256,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,ext-info-c,[email protected]
debug2: host key algorithms: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,[email protected],[email protected],rsa-sha2-512,rsa-sha2-256
debug2: ciphers ctos: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
debug2: ciphers stoc: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
debug2: MACs ctos: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MACs stoc: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: compression ctos: none,[email protected],zlib
debug2: compression stoc: none,[email protected],zlib
debug2: languages ctos: 
debug2: languages stoc: 
debug2: first_kex_follows 0 
debug2: reserved 0 
debug2: peer server KEXINIT proposal
debug2: KEX algorithms: [email protected],curve25519-sha256,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,[email protected]
debug2: host key algorithms: rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519
debug2: ciphers ctos: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
debug2: ciphers stoc: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
debug2: MACs ctos: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MACs stoc: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: compression ctos: none,[email protected]
debug2: compression stoc: none,[email protected]
debug2: languages ctos: 
debug2: languages stoc: 
debug2: first_kex_follows 0 
debug2: reserved 0 
debug3: kex_choose_conf: will use strict KEX ordering
debug1: kex: algorithm: [email protected]
debug1: kex: host key algorithm: ssh-ed25519
debug1: kex: server->client cipher: [email protected] MAC: <implicit> compression: none
debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none
debug3: send packet: type 30
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug3: receive packet: type 31
debug1: SSH2_MSG_KEX_ECDH_REPLY received
debug1: Server host key: ssh-ed25519 SHA256:YqWOIqPh7NqasxGY07Yef+WDD52F/48qBkbiWlQxIE8
debug3: record_hostkey: found key type ED25519 in file /Users/david/.ssh/known_hosts:31
debug3: record_hostkey: found key type RSA in file /Users/david/.ssh/known_hosts:32
debug3: record_hostkey: found key type ECDSA in file /Users/david/.ssh/known_hosts:33
debug3: load_hostkeys_file: loaded 3 keys from 192.168.4.7
debug1: load_hostkeys: fopen /Users/david/.ssh/known_hosts2: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug1: Host '192.168.4.7' is known and matches the ED25519 host key.
debug1: Found key in /Users/david/.ssh/known_hosts:31
debug3: send packet: type 21
debug1: ssh_packet_send2_wrapped: resetting send seqnr 3
debug2: ssh_set_newkeys: mode 1
debug1: rekey out after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug3: receive packet: type 21
debug1: ssh_packet_read_poll2: resetting read seqnr 3
debug1: SSH2_MSG_NEWKEYS received
debug2: ssh_set_newkeys: mode 0
debug1: rekey in after 134217728 blocks
debug3: send packet: type 5
debug3: receive packet: type 7
debug1: SSH2_MSG_EXT_INFO received
debug3: kex_input_ext_info: extension server-sig-algs
debug1: kex_ext_info_client_parse: server-sig-algs=<ssh-ed25519,[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,[email protected],[email protected],ssh-dss,ssh-rsa,rsa-sha2-256,rsa-sha2-512>
debug3: kex_input_ext_info: extension [email protected]
debug1: kex_ext_info_check_ver: [email protected]=<0>
debug3: receive packet: type 6
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug3: send packet: type 50
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey
debug3: start over, passed a different list publickey
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug3: ssh_get_authentication_socket_path: path '/private/tmp/com.apple.launchd.7ZPATgtfUu/Listeners'
debug1: get_agent_identities: bound agent to hostkey
debug1: get_agent_identities: ssh_fetch_identitylist: agent contains no identities
debug1: Will attempt key: /Users/david/.ssh/docker1_id_rsa RSA SHA256:Pk6ndbhbaLetYzTmHflWGqvG8gaO7CIyUp/XcpRT4S0 explicit
debug2: pubkey_prepare: done
debug1: Offering public key: /Users/david/.ssh/docker1_id_rsa RSA SHA256:Pk6ndbhbaLetYzTmHflWGqvG8gaO7CIyUp/XcpRT4S0 explicit
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 60
debug1: Server accepts key: /Users/david/.ssh/docker1_id_rsa RSA SHA256:Pk6ndbhbaLetYzTmHflWGqvG8gaO7CIyUp/XcpRT4S0 explicit
debug3: sign_and_send_pubkey: using [email protected] with RSA SHA256:Pk6ndbhbaLetYzTmHflWGqvG8gaO7CIyUp/XcpRT4S0
debug3: sign_and_send_pubkey: signing using rsa-sha2-512 SHA256:Pk6ndbhbaLetYzTmHflWGqvG8gaO7CIyUp/XcpRT4S0
Enter passphrase for key '/Users/david/.ssh/docker1_id_rsa': 
debug2: bad passphrase given, try again...
Enter passphrase for key '/Users/david/.ssh/docker1_id_rsa': 
debug3: send packet: type 50
debug3: receive packet: type 51
Authenticated using "publickey" with partial success.
debug1: Authentications that can continue: keyboard-interactive
debug3: start over, passed a different list keyboard-interactive
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup keyboard-interactive
debug3: remaining preferred: password
debug3: authmethod_is_enabled keyboard-interactive
debug1: Next authentication method: keyboard-interactive
debug2: userauth_kbdint
debug3: send packet: type 50
debug2: we sent a keyboard-interactive packet, wait for reply
debug3: receive packet: type 60
debug2: input_userauth_info_req: entering
debug2: input_userauth_info_req: num_prompts 1
([email protected]) Verification code: 
debug3: send packet: type 61
debug3: receive packet: type 51
debug1: Authentications that can continue: keyboard-interactive
debug2: userauth_kbdint
debug3: send packet: type 50
debug2: we sent a keyboard-interactive packet, wait for reply
debug3: receive packet: type 60
debug2: input_userauth_info_req: entering
debug2: input_userauth_info_req: num_prompts 1
([email protected]) Verification code: 
debug3: send packet: type 61
debug3: receive packet: type 51
debug1: Authentications that can continue: keyboard-interactive
debug2: userauth_kbdint
debug3: send packet: type 50
debug2: we sent a keyboard-interactive packet, wait for reply
debug3: receive packet: type 60
debug2: input_userauth_info_req: entering
debug2: input_userauth_info_req: num_prompts 1
([email protected]) Verification code: 
debug3: send packet: type 61
debug3: receive packet: type 51
debug1: Authentications that can continue: keyboard-interactive
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.
[email protected]: Permission denied (keyboard-interactive).

No Mac Mini:

journalctl --since "2 minutes ago"
Jul 09 07:20:18 docker1 sshd(pam_google_authenticator)[10989]: Failed to read "/home/david/.google_authenticator" for "david"
Jul 09 07:20:18 docker1 sshd(pam_google_authenticator)[10989]: No secret configured for user david, asking for code anyway.
Jul 09 07:20:25 docker1 sshd(pam_google_authenticator)[10989]: Invalid verification code for david
Jul 09 07:20:25 docker1 sshd[10987]: error: PAM: Authentication failure for david from 192.168.4.6
Jul 09 07:20:25 docker1 sshd(pam_google_authenticator)[10993]: Failed to read "/home/david/.google_authenticator" for "david"
Jul 09 07:20:25 docker1 sshd(pam_google_authenticator)[10993]: No secret configured for user david, asking for code anyway.
Jul 09 07:20:33 docker1 sshd(pam_google_authenticator)[10993]: Invalid verification code for david
Jul 09 07:20:33 docker1 sshd[10987]: error: PAM: Authentication failure for david from 192.168.4.6
Jul 09 07:20:33 docker1 sshd(pam_google_authenticator)[10996]: Failed to read "/home/david/.google_authenticator" for "david"
Jul 09 07:20:33 docker1 sshd(pam_google_authenticator)[10996]: No secret configured for user david, asking for code anyway.
Jul 09 07:20:42 docker1 sshd(pam_google_authenticator)[10996]: Invalid verification code for david
Jul 09 07:20:42 docker1 sshd[10987]: error: PAM: Authentication failure for david from 192.168.4.6
Jul 09 07:20:42 docker1 sshd[10987]: Connection closed by authenticating user david 192.168.4.6 port 52983 [preauth]

Então corri ls -aslpara dentro /home/david/e percebi /home/david/.google_authenticatorque nem existe.

Pesquisando um pouco mais no Google, finalmente encontrei isso e percebi que executei a configuração/configuração do Google Authenticator quando conectado como usuário root, não como usuário David. Verificando /root/, encontrei o arquivo .google_authenticator lá. Eu não tinha percebido que a configuração do Google Authenticator deveria ser executada como o usuário que precisa desse método de autenticação. Em retrospectiva, se eu realmente tivesse usado meus olhos, isso deveria ter sido óbvio, porque a descrição do código no aplicativo Google Authenticator mostra root@hostname, não david@hostname.

su david
google-authenticate
(Answer yes to everything and create a new code)

Em seguida, tentei fazer login mais uma vez e, desta vez, a senha e o código do Google Authenticator foram solicitados e consegui fazer login com sucesso.

debian
  • 1 respostas
  • 81 Views
Martin Hope
sqw
Asked: 2024-07-07 01:05:05 +0800 CST

mdadm: Restaurando RAID 10 no synology nas

  • 9

Peço desculpas pelo meu inglês.

Recentemente, um dos meus discos no Synology NAS falhou e decidi substituir todos os discos por outros de maior capacidade. Primeiro, substituí o disco defeituoso por um disco de maior capacidade (Disco 1) seguindo as instruções da Synology e tudo correu bem.

Em seguida, substituí outro disco funcional por um disco de maior capacidade (Disco 2). Durante o processo de recuperação (sincronização) do RAID, em torno de 90%, ocorreu algum erro e descobri na interface da web que ambos os meus novos discos (Disco 1 e Disco 2) estavam em status crítico. Li online que poderia substituir o último disco instalado e continuar com a recuperação RAID (sincronização), então substituí o Disco 2 por um novo disco limpo (Disco 3). Este foi provavelmente o meu erro. A interface da web do Synology NAS não ofereceu a recuperação do meu pool de armazenamento como fazia anteriormente. O novo disco (Disco 3) apareceu íntegro e foi isso.

Depois de muita leitura nos fóruns, decidi usar a CLI para tentar a recuperação do RAID, e aqui está o que tenho:

Disco 3 - sata4 Disco 1 - sata3

Não tenho certeza se esse é o caminho certo. Usando o fdisk, criei partições no sata4 baseadas no sata3.

Com os seguintes comandos:

sudo mdadm /dev/md0 --add /dev/sata4p1
sudo mdadm /dev/md1 --add /dev/sata4p2
sudo mdadm /dev/md2 --add /dev/sata4p3

Adicionei as partições correspondentes ao raid10.

Atualmente:

$ cat /proc/mdstat
Personalities : [raid1] [raid10]
md2 : active raid10 sata4p3[5](S) sata3p3[4](E) sata2p3[3] sata1p3[2]
      7792588416 blocks super 1.2 64K chunks 2 near-copies [4/3] [E_UU]

md3 : active raid1 nvme1n1p1[0] nvme0n1p1[1]
      244193984 blocks super 1.2 [2/2] [UU]

md1 : active raid1 sata4p2[0] sata3p2[1] sata2p2[3] sata1p2[2]
      2097088 blocks [4/4] [UUUU]

md0 : active raid1 sata4p1[1] sata3p1[0] sata2p1[3] sata1p1[2]
      8388544 blocks [4/4] [UUUU]

unused devices: <none>

$  sudo mdadm -D /dev/md0
/dev/md0:
        Version : 0.90
  Creation Time : Tue Dec 13 14:54:17 2022
     Raid Level : raid1
     Array Size : 8388544 (8.00 GiB 8.59 GB)
  Used Dev Size : 8388544 (8.00 GiB 8.59 GB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Sat Jul  6 23:37:15 2024
          State : clean
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

           UUID : 66c55d68:831b4099:05d949f7:b0bbaec7
         Events : 0.58225

    Number   Major   Minor   RaidDevice State
       0       8       33        0      active sync   /dev/sata3p1
       1       8       49        1      active sync   /dev/sata4p1
       2       8        1        2      active sync   /dev/sata1p1
       3       8       17        3      active sync   /dev/sata2p1

$  sudo mdadm -D /dev/md1
/dev/md1:
        Version : 0.90
  Creation Time : Tue Dec 13 14:54:20 2022
     Raid Level : raid1
     Array Size : 2097088 (2047.94 MiB 2147.42 MB)
  Used Dev Size : 2097088 (2047.94 MiB 2147.42 MB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 1
    Persistence : Superblock is persistent

    Update Time : Sat Jul  6 21:05:57 2024
          State : clean
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

           UUID : f52a567f:3734ea2b:05d949f7:b0bbaec7
         Events : 0.137

    Number   Major   Minor   RaidDevice State
       0       8       50        0      active sync   /dev/sata4p2
       1       8       34        1      active sync   /dev/sata3p2
       2       8        2        2      active sync   /dev/sata1p2
       3       8       18        3      active sync   /dev/sata2p2
$  sudo mdadm -D /dev/md2
/dev/md2:
        Version : 1.2
  Creation Time : Tue Dec 13 15:16:49 2022
     Raid Level : raid10
     Array Size : 7792588416 (7431.59 GiB 7979.61 GB)
  Used Dev Size : 3896294208 (3715.80 GiB 3989.81 GB)
   Raid Devices : 4
  Total Devices : 4
    Persistence : Superblock is persistent

    Update Time : Sat Jul  6 23:26:24 2024
          State : clean
 Active Devices : 3
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 1

         Layout : near=2
     Chunk Size : 64K

           Name : nas:2  (local to host nas)
           UUID : 2894354f:67be6652:bbba583f:6cbe1629
         Events : 65803

    Number   Major   Minor   RaidDevice State
       4       8       35        0      faulty active sync set-A   /dev/sata3p3
       -       0        0        1      removed
       2       8        3        2      active sync set-A   /dev/sata1p3
       3       8       19        3      active sync set-B   /dev/sata2p3

       5       8       51        -      spare   /dev/sata4p3

As partições no sata4 foram adicionadas como peças sobressalentes em todos os lugares. md0 e md1 recuperados automaticamente. md2 não se recuperou automaticamente, provavelmente devido ao estado defeituoso de /dev/sata3p3.

Escolhi o caminho certo? Quais são os próximos passos que devo tomar?

raid
  • 1 respostas
  • 77 Views
Martin Hope
ivant
Asked: 2024-07-06 17:00:26 +0800 CST

Como posso recriar o rpmdb?

  • 6

Estou na estação de trabalho Fedora 40. Percebi que ele dnfestava reclamando de um banco de dados sqlite corrompido e tentei consertar seguindo um tutorial online. Achei que tinha feito uma cópia dos arquivos rpmdb, mas me enganei [^1].

Agora o sistema não conhece nenhum arquivo RPM instalado. Existe uma maneira de corrigir isso sem reinstalar?


[^1] Achei que copiou o diretório /var/lib/rpm. O que não percebi foi que agora é um link simbólico e, em vez disso, copiei-o. A moral da história é que você tem que beber seu café antes de tentar mudanças que quebram o sistema!

fedora
  • 1 respostas
  • 48 Views
Martin Hope
Francisco IA Lover
Asked: 2024-07-06 00:39:21 +0800 CST

Como implementar a edição de arquivos contêiner Docker do host desde a instalação com YML e Dockerfiles (NO Terminal)?

  • 5

Olá, tenho este ymlarquivo para fazer o contêiner docker funcionar com o phpmyadmin:

  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    restart: always
    expose:
      - 80
    depends_on:
      - database
    volumes:
      - /sessions
      - ./bin/pma/php.ini:/usr/local/etc/php/conf.d/php-phpmyadmin.ini
    extra_hosts:
      - "host.docker.internal:host-gateway"

Importante: estou trabalhando com YMLarquivo e DOCKERFILEapenas por limitações no uso do terminal/ cmd, já que ele não está disponível no meu usuário Windows.

Depois de instalá-lo e tudo funcionar corretamente, vá ver a estrutura do container e o caminho onde o phpmyadmin está localizado é:/var/www/html

Ocorreu-me que, assim como posso ver o document_root de phpmiadmin in xampp/ wampp, tentaria ver o do meu contêiner do docker.

Para conseguir isso, tente montar um volume adicionando a seguinte linha:

  • ./bin/pma/phpmyadmin:/var/www/html

É aqui que começam as dificuldades, o sistema de volumes que implemento não está desenhado para o alcance do que pretendo.

como esse método sobrescreve o conteúdo da imagem pelo conteúdo do diretório que estou montando, isso faz com que o diretório fique vazio... haha

O que estou tentando fazer é montar um volume que faça referência à minha estrutura local de "janelas" e vinculá-lo a um diretório dentro do contêiner sem substituir nenhum arquivo, para que eu possa vê-los e modificá-los manualmente.


Outra ideia ou tentativa fracassada que não gosto é implementar um link simbólico e commandem YML:

version: '3.8'
services:
  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    restart: always
    expose:
      - 80
    depends_on:
      - database
    volumes:
      - /sessions
      - ./bin/pma/php.ini:/usr/local/etc/php/conf.d/php-phpmyadmin.ini
      - ./bin/pma/phpmyadmin:/var/www/html/my_phpmyadmin
    extra_hosts:
      - "host.docker.internal:host-gateway"
    command: sh -c "ln -s /var/www/html/my_phpmyadmin /var/www/html/phpmyadmin && apache2-foreground"

outra implementação com link simbólico e Dockerfile:

  phpmyadmin:
    container_name: PMA
    build:
      context: ./bin/pma
      dockerfile: Dockerfile
    restart: always
    expose:
      - 80
    depends_on:
      - database
    volumes:
      - /sessions
      - ./bin/pma/php.ini:/usr/local/etc/php/conf.d/php-phpmyadmin.ini
      - ./bin/pma/source-code:/var/www2/html
    extra_hosts:
      - "host.docker.internal:host-gateway"

Arquivo Docker:

FROM phpmyadmin/phpmyadmin

RUN mkdir -p /var/www2 && ln -s /var/www/html /var/www2/html

ENTRYPOINT ["apache2-foreground"]

Diretório vazio:

insira a descrição da imagem aqui

Parece-me redundante ou desnecessário ter que criar um link simbólico para vincular o link simbólico depois, quando o diretório original já existir...


No final o conteúdo deverá aparecer aqui:

insira a descrição da imagem aqui

docker
  • 1 respostas
  • 29 Views
Martin Hope
D_Bester
Asked: 2024-07-05 04:19:20 +0800 CST

Iniciando o controlador de domínio do Windows para teste em uma rede isolada: não é possível entrar

  • 5

Nossa estratégia de backup tem sido exportar o controlador de domínio (VM Hyper-V) junto com as outras VMs do servidor para uma unidade grande que rotacionamos fora do local e fora da rede.

Agora queremos mover o DC para um novo servidor. Achei que poderia simplesmente exportar do antigo e importar para o novo servidor. Mas quando eu inicio novamente e tento fazer login, aparece este erro:

Não podemos fazer login com esta credencial porque seu domínio não está disponível. Certifique-se de que seu dispositivo esteja conectado à rede da sua organização e tente novamente.

Ainda estamos em modo de teste: exportei um snapshot do DC, importei no novo servidor e usei. Puxei os cabos de rede do novo servidor ao iniciar o DC para garantir que ele não interferisse na rede existente.

O que estamos fazendo de errado e como podemos consertar isso?

windows
  • 1 respostas
  • 114 Views
Prev
Próximo

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve