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 / Perguntas / 924561
Accepted
exeral
exeral
Asked: 2018-08-02 23:53:54 +0800 CST2018-08-02 23:53:54 +0800 CST 2018-08-02 23:53:54 +0800 CST

configuração ssh por domínios dns

  • 772

Eu tenho duas plataformas com muitos servidores aos quais quero me conectar via ssh.

tenho no resolv.conf

search domain1.net domain2.org

Então eu só tenho o nome da máquina para digitar ssh.

Eu quero ter uma configuração ssh por domínio :

  • administrador de usuário para cada máquina de domain1.net
  • usuário root para cada máquina de domain2.org

Como posso conseguir isso?

As diretivas Host , Hostname parecem funcionar apenas com o que você digita no comando ssh, não com o que é expandido com sufixos DNS

linux
  • 4 4 respostas
  • 2090 Views

4 respostas

  • Voted
  1. Best Answer
    Tomek
    2018-08-03T12:40:47+08:002018-08-03T12:40:47+08:00

    Acredito que o OpenSSH PODE fazer canonização. Por favor, dê uma olhada nas seguintes opções na página man do ssh_config:

    • CanonicalizeHostname
    • CanonicalizeFallbackLocal
    • CanonicalizeMaxDots
    • CanonicalizeCNAMEsPermitidos
    • Hospedeiro
    • Combinar com canonicalopção

    Observe que isso pode exigir uma versão OpenSSH mais recente do que a que você possui (eu tenho 7.4p1).

    • 1
  2. Sven
    2018-08-03T00:27:17+08:002018-08-03T00:27:17+08:00

    Como kasperd disse, isso não é realmente possível.

    Algumas soluções alternativas:

    • Eu apenas uso algumas pequenas variáveis ​​de shell para expandir $epara example.orgcoisas que não acesso com tanta frequência. Outros são listados de ~/.ssh/configqualquer maneira com um nome curto. Você usa assim:

      ssh www.$e 
      

      Com isso, você pode usar o ~/.ssh/configmétodo padrão.

    • Outra opção: Escreva um pequeno script wrapper ou função shell para ssh que capture o nome do host e o expanda, algo assim:

      #!/bin/bash
      hn=`host $1 | cut -d ' ' -f 1`
      ssh $hn 
      

      Se você chamá-lo com , ele se sshwrapper.sh wwwexpandirá e usará isso para .wwwwww.example.orgssh

    • 0
  3. dithotx
    2019-08-22T06:07:21+08:002019-08-22T06:07:21+08:00

    apoiando o que @sven disse, uma pequena função bash pode fazer o mesmo:

    ssh() {
        declare h=$(host $1 | head -n 1 | cut -d ' ' -f 1)
        command ssh $h
    }
    

    Coloque isso em algum lugar em um de seus arquivos de origem, por exemplo, .profile, e está sempre corrigindo o nome da ordem de pesquisa em /etc/resolv.conf

    • 0
  4. nhed
    2020-04-02T15:36:38+08:002020-04-02T15:36:38+08:00

    outra abordagem que pode ser útil para outros utiliza (relativamente) novos recursos ssh_config que permitem incluir arquivos e até mesmo a inclusão pode ser condicional.

    Vou apenas compartilhar um exemplo ofuscado da minha configuração que testa que, se

    • meu telefone está conectado via USB e
    • Não tenho outra conexão de rede (não tenho uma rota padrão)

    Em seguida, ele incluirá outro arquivo que roteará algumas coisas ssh pelo meu telefone

    Match exec "[ -e /dev/serial/by-id/usb-SAMSUNG_SAMSUNG_Android_XXXXXXXX-if01 ] && ! ip route| grep -q ^default"
        Include blahblah_termux.ssh
    

    Você deve ser capaz de ter um ~/.ssh/domain1.ssh & ~/.ssh/domain2.ssh e incluir aqueles baseados em um teste de correspondência (seu teste obviamente seria personalizado)

    • 0

relate perguntas

  • Como descobrir detalhes sobre hardware na máquina Linux?

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