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
DaveL17
Asked: 2024-11-21 00:46:02 +0800 CST

Unifi Cloud Key Gen 1 SSH com autenticação de chave pública

  • 5

Estou tentando configurar minha Gen 1 Cloud Key (CK) para permitir autenticação sem senha para que eu possa executar um script bash para baixar arquivos de autobackup. Eu consigo fazer SSH na CK "manualmente" e também com meu script bash usando nome de usuário/senha, mas isso armazenaria as credenciais em texto simples, o que eu (obviamente) não quero fazer.

Eu tenho:

  • gerou as chaves na minha máquina local (MBP Sequoia 15.1.1) com ssh-keygen -t rsa,
  • copiou a chave pública para o arquivo CK ~/.ssh/authorized_keys,
  • modificado /etc/ssh/sshd_configpara incluir as seguintes linhas (não comentadas): RSAAuthentication yes, PubkeyAuthentication yes, e AuthorizedKeysFile .ssh/authorized_keys,
  • reiniciou o ssh no CK com sudo systemctl restart sshd,
  • permissões verificadas com chmod 700 ~/.sshe chmod 600 ~/.ssh/authorized_keys.

Mas ainda sem alegria. O log SSH diz,

...
debug1: Next authentication method: publickey
debug1: get_agent_identities: bound agent to hostkey
debug1: get_agent_identities: ssh_fetch_identitylist: agent contains no identities
debug1: Will attempt key: /Users/Hank/.ssh/id_rsa RSA SHA256:KEY_VALUE_REDACTED
debug1: Will attempt key: /Users/Hank/.ssh/id_ecdsa 
debug1: Will attempt key: /Users/Hank/.ssh/id_ecdsa_sk 
debug1: Will attempt key: /Users/Hank/.ssh/id_ed25519 
debug1: Will attempt key: /Users/Hank/.ssh/id_ed25519_sk 
debug1: Will attempt key: /Users/Hank/.ssh/id_xmss 
debug1: Will attempt key: /Users/Hank/.ssh/id_dsa 
debug1: Offering public key: /Users/Hank/.ssh/id_rsa RSA SHA256:KEY_VALUE_REDACTED
debug1: send_pubkey_test: no mutual signature algorithm
debug1: Trying private key: /Users/Hank/.ssh/id_ecdsa
debug1: Trying private key: /Users/Hank/.ssh/id_ecdsa_sk
debug1: Trying private key: /Users/Hank/.ssh/id_ed25519
debug1: Trying private key: /Users/Hank/.ssh/id_ed25519_sk
debug1: Trying private key: /Users/Hank/.ssh/id_xmss
debug1: Trying private key: /Users/Hank/.ssh/id_dsa
debug1: Next authentication method: password
[email protected]'s password: 
...

e então ainda sou solicitado a digitar uma senha. Acredito que a pista para o problema esteja nesta linha:

nenhum algoritmo de assinatura mútua

Isso significa que as instâncias de SSH nos dois dispositivos são incompatíveis e, portanto, usar autenticação baseada em chave não é possível? Parece que deveria ser simples, mas algo não está certo.

TLDR; O software do controlador Unifi suporta autenticação baseada em chave SSH, mas isso só se aplica à conexão a dispositivos de rede como APs, switches e roteadores. O CK é um cliente e aparentemente não é possível atingir meu objetivo por meio do software do controlador.

Há muita conversa em torno dessa abordagem, mas nada parece abordar esse problema específico.


EDIT: Eu encontrei isso, o que está me levando a acreditar que meu CK (que é reconhecidamente antigo) pode ser a fonte do problema. Atualizar o ssh no CK, embora teoricamente possível, é uma solução abaixo do ideal porque eu esperaria que futuras atualizações de firmware sobrescrevessem quaisquer alterações intermediárias.

A resposta é usar algo diferente de RSA?


EDIT2 : Solução - FTF, aqui estão os comandos revisados ​​que funcionaram no meu caso:

  • Gerar par de chaves:ssh-keygen -t ed25519
  • Copie a chave pública para o servidor:ssh-copy-id -i ~/.ssh/id_ed25519.pub [email protected]
  • Verifique as permissões: chmod 700 ~/.sshechmod 600 ~/.ssh/authorized_keys
  • Reiniciar: sudo systemctl restart sshd(pode não ser necessário)
ssh
  • 1 respostas
  • 26 Views
Martin Hope
Rhywden
Asked: 2024-11-20 21:00:19 +0800 CST

Como encaminhar o acesso a uma porta em uma interface para a porta de outra interface na mesma máquina?

  • 5

Basicamente, tenho um serviço escutando eth0's 10.16.1.1na porta 1000de uma máquina Ubuntu 22.04. Este serviço não permite escutar um catchall como 0.0.0.0 (fora do meu controle). Esta é uma rede interna.

Para acesso remoto, também tenho uma rede VPN em execução wg0que atribuiu o endereço 192.168.100.1a esta máquina.

Aqui está a pergunta: Como encaminho solicitações para 192.168.100.1:1000pousar em 10.16.1.1:1000?

ubuntu
  • 1 respostas
  • 30 Views
Martin Hope
jonseymour
Asked: 2024-11-20 08:45:32 +0800 CST

Qual é a maneira canônica de executar o pytest com o Python 3.11 em contêineres do Amazon Linux 2023?

  • 5

A AWS fornece suporte para instalação do Python 3.11 em contêineres do Amazon Linux 2023 .

Entretanto, não é nada óbvio como instalar e executar um pytest compatível neste caso.

Por exemplo, se você fizer isso:

dnf install -y pytest

a versão do pytest instalada é a 3.9, que é compatível com a chamada versão do sistema do Python, que é 3.9, mas não é compatível com o python3.11 instalado por meio do método suportado.

Então, qual é a maneira canônica de instalar uma versão do pytest compatível com o python3.11 instalado da maneira recomendada pela AWS?

linux
  • 1 respostas
  • 17 Views
Martin Hope
Tim Styles
Asked: 2024-11-19 23:23:25 +0800 CST

Roteador Exim para redirecionar e-mails com base no assunto

  • 5

Gostaria de redirecionar e-mails com o assunto 'Sua encomenda chegou.' para um alias de e-mail local [email protected] . Para fazer isso, criei o seguinte roteador:

redirect_packages:
  debug_print = "R: redirect_packages with subject $header_subject"
  driver = redirect
  domains = +local_domains
  condition = ${if eq {$header_subject} {Your Parcel has Arrived.} {true} }
  data = packages@${domain}

Não consigo fazer com que o resultado da condição seja verdadeiro. A saída de depuração é:

--------> redirect_packages router <--------
local_part=me domain=example.com
checking domains
cached yes match for +local_domains
cached lookup data = example.com
example.com in "+local_domains"? yes (matched "+local_domains" - cached)
 -­considering: R: redirect_packages with subject $header_subject
 ----expanding: R: redirect_packages with subject $header_subject
 -------result: R: redirect_packages with subject Your Parcel has Arrived.
            ----(tainted)
R: redirect_packages with subject Your Parcel has Arrived.
checking "condition" "${if eq {$header_subject} {Your Parcel has Arrived.} {true} }"...
 -­considering: ${if eq {$header_subject} {Your Parcel has Arrived.} {true} }
  -­considering: $header_subject} {Your Parcel has Arrived.} {true} }
  ---expanding: $header_subject} {Your Parcel has Arrived.
  -------result:  {Your Parcel has Arrived.
  -­considering: true} }
  ---expanding: true
  -------result: true
 ---condition: eq {$header_subject} {Your Parcel has Arrived.} {true}
 -----result: false
 ---expanding: ${if eq {$header_subject} {Your Parcel has Arrived.} {true} }
 -------result:
redirect_packages router skipped: condition failure

Não consigo ver o que está errado. $header_subject é expandido corretamente na mensagem de depuração. No entanto, na condição, ele não é correspondido com texto que parece o mesmo.

A maneira como a condição é expandida também parece errada, como se faltasse o colchete de fechamento depois de $header_subject.

Alguém pode explicar o que está acontecendo com a condição e por que o resultado não é verdadeiro?

exim
  • 1 respostas
  • 75 Views
Martin Hope
BluePython
Asked: 2024-11-19 18:37:10 +0800 CST

Configuração segura do Strongswan

  • 5

Configurei uma configuração de host para host na qual quero que apenas o IP do servidor fique exposto para que qualquer pessoa conectada à VPN possa se comunicar com os serviços naquele servidor.

connections {
    rw {
      pools = rw_pool
      send_cert = always
      unique = no
      fragmentation=yes
      local {
        auth = pubkey
        certs = [CERT].pem
        id = [ID]
      }

      remote {
        auth = eap-mschapv2
        eap_id = %any
      }
      children {
        rw {
          local_ts  = [WAN IP OF SERVER]
          esp_proposals = chacha20poly1305-sha512, aes256gcm16-ecp384,aes256-sha256,aes256-sha1,3des-sha1
        }
      }
      send_certreq = no
    }
 }

A conexão funciona e as solicitações estão de fato vindo de um intervalo de IP selecionado pela VPN. No entanto, como estou mirando no IP externo, isso ainda não rotearia o tráfego por um canal não seguro após a saída do IP?

Configuração do cliente:

connections {
    home {
      version=2
      remote_addrs = [SERVER ADDR]
      vips = 0.0.0.0
      local {
        auth = eap-mschapv2
        eap_id = [ID]
      }
      remote {
        auth = pubkey
        id = [SERVER ID]
      }
      children {
        home {
          remote_ts  = [WAN IP OF SERVER]
          local_ts = dynamic
          #remote_ts  = 10.10.10.0/24
          start_action = start
        }
      }
    }
  }

Uma segunda pergunta menor: como você faria uma configuração de host para site, onde meu servidor é uma entidade única em sua rede, mas o outro lado é um roteador fortigate com uma rede maior por trás dele, essa configuração funcionaria?

Agradecemos antecipadamente pelo esforço!

EDIT: Problema de IP resolvido usando ip para criar uma interface tun0 e usando isso como local_ts

vpn
  • 1 respostas
  • 47 Views
Martin Hope
Ami Heines
Asked: 2024-11-18 01:25:23 +0800 CST

O Openvpn3 não funciona depois que atualizei para o python3.11. Como posso fazer o serviço usar o python3.8?

  • 5

O Openvpn3 parou de funcionar depois que atualizei meu laptop Ubuntu 20.04 de python3.8 para python 3.11

Recebo este erro:

openvpn3-systemd[9972]: ModuleNotFoundError: No module named '_dbus_bindings'

Descobri que import dbusfunciona bem com python3.8, mas não funciona com python3.11

Tentei fazer o openvpn3 funcionar alterando o sistema padrão python de volta para 3.8 usando

sudo update-alternatives --config python

E também verifiquei que quando uso python na linha de comando, ele encontra dbus,

python -c 'import dbus'

Reiniciar o serviço ainda falha com o mesmo erro. Editei o arquivo /usr/libexec/openvpn3-linux/openvpn3-systemdpara que ele imprima a versão python antes de tentar importar o dbus usando estas 2 linhas no topo do arquivo:

import sys
print ('openvpn3-python-version-used: ' + sys.version)

E vejo que está usando python3.11

Como posso alterar o arquivo de serviço para forçá-lo a usar a versão mais antiga do python3.8?/lib/systemd/system/[email protected]

Arquivo de serviço atual:

[Unit]
Description=OpenVPN 3 Linux - VPN session for %I
After=dbus.service network-online.target
Wants=dbus.service network-online.target
Documentation=man:openvpn3-linux(7)
Documentation=man:openvpn3-systemd(7)

[Service]
Type=notify
PrivateTmp=true
ProtectSystem=true
ProtectHome=true
Environment="PYTHONUNBUFFERED=on"
ExecStart=/usr/libexec/openvpn3-linux/openvpn3-systemd --start %i
ExecReload=/usr/libexec/openvpn3-linux/openvpn3-systemd --restart %i
ExecStop=/usr/libexec/openvpn3-linux/openvpn3-systemd --stop %i

[Install]
WantedBy=multi-user.target
openvpn
  • 1 respostas
  • 20 Views
Martin Hope
Sagar
Asked: 2024-11-16 00:30:50 +0800 CST

Por que o usuário pode "obter" segredos, dada a seguinte combinação de clusterrole/função?

  • 5

Tenho os seguintes ClusterRoles definidos:

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: deployer-system
rules:
- apiGroups:
  - '*'
  resources:
  - '*'
  verbs:
  - list
- nonResourceURLs:
  - '*'
  verbs:
  - list

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: deployer-nonsystem
rules:
- apiGroups:
  - '*'
  resources:
  - secrets
  - PersistentVolumes
  - Role
  - RoleBinding
  verbs:
  - list
- apiGroups:
  - '*'
  resources:
  - deployments
  - pods
  verbs:
  - get
  - list
  - watch
  - create
  - update
  - patch
- nonResourceURLs:
  - '*'
  verbs:
  - list

Eu uso os seguintes RoleBindings para atribuir a um usuário o ClusterRole acima:

apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: theuser-nonsystem-role-binding
  namespace: nonsystem-namespace
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: deployer-nonsystem
subjects:
- apiGroup: rbac.authorization.k8s.io
  kind: User
  name: theuser

apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: theuser-kube-system-role-binding
  namespace: system-namespace
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: deployer-system
subjects:
- apiGroup: rbac.authorization.k8s.io
  kind: User
  name: theuser

No entanto, eles conseguem executar um kubectl -n [NAMESPACE] get secrets -o yamle ver todos os segredos. Eu esperaria que essa chamada fosse proibida com base nas especificações ClusterRole acima.

Estou esquecendo ou entendendo mal alguma coisa aqui? Por que o usuário pode "pegar" segredos?

ATUALIZAÇÃO: Observe: meu problema NÃO é que eles podem listar segredos. Meu problema aqui é que o usuário pode "obter" segredos (verbos diferentes!)

kubernetes
  • 1 respostas
  • 63 Views
Martin Hope
Jonatan Öström
Asked: 2024-11-15 23:14:40 +0800 CST

Transferir vários arquivos para arquivar em um servidor remoto

  • 5

Preciso fazer um backup temporário de ca 1 TB antes de mover um servidor local, e o outro local de armazenamento que tenho é um cluster HPC remoto com cota de armazenamento suficiente, mas um limite na contagem de arquivos, e há muitos arquivos. Criar um arquivo tar na máquina local é muito lento (velocidade de gravação?).

Então, como posso transferir os arquivos locais para um arquivo tar remoto? Eu estava pensando em montar o sistema de arquivos remoto localmente (com sshfs?) e então usar algo como tar -cf /mnt/remote/backup.tar local_folder(Deve funcionar, certo?). Mas isso pode ser feito sem montar? Talvez usando algum magic pipe de ssh, scpe tar?

Se eu conseguir fazer isso funcionar, também é possível atualizar o arquivo remoto com arquivos locais atualizados como uma solução de backup adequada? (Isso não é necessário para a tarefa atual.)

ssh
  • 2 respostas
  • 58 Views
Martin Hope
Androz2091
Asked: 2024-11-15 17:51:43 +0800 CST

Rotinas OpenSSL:ssl3_read_bytes:tlsv1 alerta erro interno com kubernetes e caddy

  • 5

Meu domínio androz2091.fr está apontando para um cluster kubernetes de nó único. O Caddy está instalado no nó (no host, não dentro do k8s) e usa o DNS do cluster para redirecionar para o serviço certo.

Aqui está meu Caddyfile . Aqui está minha documentação de cluster .

Infelizmente, a cada 30 a 50 solicitações ao acessar meu domínio, recebo este erro:

poca@localhost:~ $ wget androz2091.fr
--2024-11-15 10:45:55--  http://androz2091.fr/
Resolving androz2091.fr (androz2091.fr)... HIDDEN-IP
Connecting to androz2091.fr (androz2091.fr)|HIDDEN-IP|:80... connected.
HTTP request sent, awaiting response... 308 Permanent Redirect
Location: https://androz2091.fr/ [following]
--2024-11-15 10:45:55--  https://androz2091.fr/
Connecting to androz2091.fr (androz2091.fr)|HIDDEN-IP|:443... connected.
OpenSSL: error:14094438:SSL routines:ssl3_read_bytes:tlsv1 alert internal error
Unable to establish SSL connection.

Por onde começo a procurar o problema?

Não tenho ideia de como depurá-lo (nem está aparecendo em cada solicitação) e qual parte do meu cluster pode estar com defeito. Posso fornecer mais informações, se necessário.

ssl
  • 1 respostas
  • 100 Views
Martin Hope
Morix Dev
Asked: 2024-11-15 00:22:21 +0800 CST

Ordem de desmontagem do Linux na reinicialização/desligamento

  • 8

Tenho uma situação (acho) muito particular no meu Linux embarcado que não consigo resolver corretamente...

Devido a verificações específicas (personalizadas) a serem executadas em sistemas de arquivos na inicialização antes de montá-los, eu uso um ramdisk inicial para verificar e montar todos os sistemas de arquivos solicitados e, então, os transfiro para o sistema de arquivos raiz quando o init é concluído (então nenhum /etc/fstabdispositivo é usado para montar, mas eles são montados por meio de um script que reside dentro do ramdisk inicial).

Para ser mais específico, a /bootpartição ( mmcblk1p1) é montada primeiro (no modo SOMENTE LEITURA); dentro dessa partição, tenho um arquivo ( rootfs.squashfs) correspondente a uma imagem squashfs do sistema de arquivos raiz de destino... então, após algumas outras operações (não relevantes para o propósito deste post), o script ramdisk inicial acaba montando a imagem squashfs /rootfse, no final do script init, a raiz do sistema é alternada /rootfs(via switch-rootcomando);

O problema surge na reinicialização do sistema (ou desligamento): quando o sistema tenta desmontar todos os sistemas de arquivos montados, a desmontagem /bootfalha (porque o dispositivo está ocupado, como é óbvio, já que o sistema de arquivos raiz é montado a partir de um arquivo squashfs que reside em /boot).

Existe uma maneira de evitar desmontar /bootna reinicialização/desligamento/desligamento, evitando assim a falha de umount? Como ele é montado somente para leitura, não deve ser arriscado, não é? Ou estou esquecendo de algo?

PS: Não sei se pode ser útil e/ou relevante: a inicialização do meu sistema operacional é gerenciada via systemd.

systemd
  • 2 respostas
  • 109 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