SSH para um servidor, com vários domínios, como obter domínio?

0

Eu tenho um servidor vinculado a vários domínios. Dentro do servidor, gostaria de dar as boas-vindas ao usuário no domínio que ele usou para acessar o servidor.

Como descubro o FQDN usando scripts?

Tentei ter uma configuração sshd por domínio, mas não gosto de copiar a configuração sshd toda vez que um novo domínio é vinculado ao servidor.

Peter Rader
fonte
Esta pergunta é um pouco confusa. Então, você está dizendo que tem um endereço IP como 123.456.789.0e existem domínios como example.come anotherexample.comquando um SSH de usuário está no servidor example.comou anotherexample.comdeve haver algum tipo de banner / saudação que diz algo como: “Bem-vindo! Você se conectou à 123.456.789.0via example.com! ”Correto?
precisa saber é o seguinte
@JakeGould Sim. Mas eu não preciso do endereço IP, o domínio é suficiente.
precisa

Respostas:

0

Você não

Bem, pode haver maneiras de conseguir algo semelhante. Discutirei essas opções, mas primeiro vamos ver como os protocolos normalmente operam.

Recomendo entender como as coisas funcionam e quais protocolos funcionam antes de sonhar com muitos comportamentos e depois pensar que são desejáveis. Uma vez fiz isso, pensando que poderia ser criativo e depois investir algum trabalho na personalização de coisas. Mais tarde, aprendi mais sobre rede e descobri que ela pode ser bastante desafiadora, mesmo sem requisitos criativos extremamente desafiadores.

Aqui estão alguns comportamentos comuns:

Quando você usa um cliente SSH para se conectar ao nome do host, o cliente SSH inicia fazendo uma pesquisa de DNS. Isso eventualmente fornece ao cliente SSH um registro AAAA (que fornece um endereço IPv6) ou um registro A (que fornece um endereço IPv4). Em seguida, o cliente SSH usa um protocolo da Internet para se comunicar com o endereço da Internet numérico especificado. O servidor SSH recebe uma conexão desse endereço numérico da Internet.

Por outro lado, as conexões HTTP seguem o mesmo processo, mas o protocolo HTTP especifica que o cliente HTTP usa a conexão TCP estabelecida para transmitir a URL desejada. Nesse ponto, os servidores HTTP recebem o nome de domínio pretendido.

Da mesma forma, o SMTP envolve o cliente especificando um endereço de email, permitindo que um servidor SMTP receba o nome de domínio pretendido.

SSH não necessariamente faz isso.

Alternativa Você pode fazer com que o SSH funcione de maneira diferente com base na chave SSH que uma pessoa usa. Se você distribuir chaves SSH diferentes para pessoas que usam domínios diferentes, poderá ter um efeito nesse sentido.

Alternativa dois Se você tiver vários endereços da Internet, poderá simplesmente ter um domínio diferente para cada endereço da Internet. Isso geralmente é possível com o IPv6. Com o IPv4, ter vários endereços numéricos públicos pode ser um pouco mais desafiador / caro.

TOOGAM
fonte
Para 1: As chaves já estão distribuídas, tenho que esperar até que as chaves estejam desatualizadas. Para 2: Esta é uma opção muito boa, mas não é dinâmica, devo configurar todos os novos domínios.
precisa saber é o seguinte
E quanto às portas, posso configurar um SRV (Service Resource Records) para usar uma porta diferente? Eu sei, pode não ser dinamicamente.
precisa
@ PeterRader, presumo que você queira dizer registros de recursos SRV no DNS. Tanto quanto eu sei, a maioria dos protocolos, incluindo SSH, os ignora. Desculpa. Mas você pode executar o SSH em várias portas TCP. (Uma maneira pode ser executar várias instâncias / cópias do servidor. Com roteamento sofisticado, você pode até fazer isso em várias máquinas.) A maior desvantagem é que os clientes precisariam especificar manualmente a porta TCP. Se você controla o servidor e os clientes (ou pode obter cooperação dos clientes), isso provavelmente não é grande coisa. Vale a pena seguir esse caminho.
TOOGAM 25/08/16
@PeterRader Eu diria também que não há razão para que o DNS não possa ser usado para verificar um registro DNS e para que uma máquina (que executa o cliente SSH) faça algo (como usar o número da porta especificado). Eu estava simplesmente dizendo que não conheço um padrão, prontamente suportado por softwares pré-construídos comumente distribuídos. (Novamente, as versões mais recentes do OpenSSH podem ter muitas personalizações, incluindo algumas com as quais eu não conheço.) Com personalização pesada, incluindo o uso de sua própria variação de código-fonte, a técnica de usar um registro DNS como SRV parece tecnicamente viável.
TOOGAM 25/08/16
SSH não está listado na lista de protocolos que usam geralmente SRV: artigo da Wikipedia sobre "registro SRV": seção intitulada "Uso"
TOOGAM