O Guia completo do arquivo sshd_config para Linux

O Guia completo do arquivo sshd_config para Linux

O protocolo shell ssh ou seguro é usado para fazer login remotamente em uma máquina e executar comandos na máquina remota. Os dados que são transferidos usando o protocolo SSH são criptografados com algoritmos especiais, o que torna o SSH mais seguro que o Telnet. Basicamente, OpenSsh é uma ferramenta que implementa este protocolo.

O que vamos cobrir?

Neste guia, exploraremos os diferentes aspectos do arquivo de configuração do servidor OpenSSH. Vamos começar agora.

Arquivos de configuração OpenSSH

Existem alguns arquivos principais para o cliente e servidor OpenSsh. Possui dois tipos de arquivos de configuração:

1. Arquivos relacionados ao lado do cliente: um dos arquivos é SSH_CONFIG. É um arquivo de configuração em todo o sistema. Este arquivo está localizado em /etc/ssh/ssh_config.

O outro arquivo é a configuração, que é um arquivo de configuração específico do usuário localizado em $ home/.ssh/config.

O programa SSH em um host pega a configuração desses arquivos ou através da interface da linha de comando. No caso dos arquivos mencionados anteriormente, o arquivo de configuração em todo.

2. sshd_config: está relacionado ao lado do servidor. O servidor OpenSsh lê este arquivo quando inicia.

Explorando o sshd Arquivo de configuração

O arquivo de configuração do SSHD contém muitas diretivas que também podem ser personalizadas. Vejamos o layout padrão deste arquivo:

$ cat/etc/ssh/sshd_config


# Este é o arquivo de configuração em todo o SSHD Server em todo o sistema. Ver

# sshd_config (5) para obter mais informações.

Porta 222
Ouça 0.0.0.0
ListenAddress ::
Hostkey/etc/ssh/ssh_host_key
Serverkeybits 768
LogingRacetime 600
KeyregeneraçãoInterval 3600
Permitrootlogina sim
Ignorerhosts Sim
Strictmodes sim
X11 para a direção do não
Allowtcpforwarding no
Permite não
X11Displayoffset 10
Printmotd sim
Mantém sim
Syslogfacility Auth
Informações de loglevel
Rhostsauthentication no
RHOSTSRSAAATHentication no
Rsaauthentication sim
PasswordAuthentication Sim
PermitEmptyPasswords no
Checkmail não


Qualquer linha que começa com "#" é tomada como um comentário. Vamos explorar alguns dos parâmetros dados:

1. A Diretiva Port especifica um número de porta. Este é o número da porta em que o sshd ouve conexões. O valor padrão para esta porta é 22, que é o padrão. No entanto, no nosso caso, mudamos para 222.

Além disso, podemos especificar mais de uma diretiva de porta. Dessa forma, podemos usar várias portas para ouvir nas conexões SSHD.

2. O listeraddress contém o endereço IP para ouvir em. A ação padrão é ouvir em todo o endereço IP que está vinculado ao servidor. Observe também que a Diretiva Port deve suceder a Diretiva Listeraddress.

3. O caminho totalmente qualificado do arquivo host do host privado é especificado pela diretiva hostkey. No caso anterior, o caminho é /etc/ssh/ssh_host_key.

4. A Diretiva Permitrootlogina permite o login da raiz para SSHD quando está definido como sim. Isso deve ser definido para não, a menos que os hosts.permitir e hosts.Os arquivos de nega são usados ​​para restringir o acesso SSHD.

5. A diretiva X11 para a direção permite o encaminhamento do sistema de janelas quando definido como sim.

6. Qual instalação syslog que sshd deve usar é especificado usando a diretiva syslogfacility. Mantenha o valor padrão como está.

7. O nível de registro para syslog é especificado usando a diretiva de nível de logle.

Alterando a sshd Porta

Por padrão, o sshd ou o OpenSsh Server Daemon usa a porta 22 do protocolo TCP. Recomenda -se alterar este número de porta para algum outro valor em um ambiente de teste. Isso nos garante que a conectividade do servidor está disponível o tempo todo.

Além disso, é uma boa prática verificar a sintaxe da configuração de um novo arquivo sshd_config antes de usá -lo, independentemente de qual porta é executada. Para verificar a sintaxe, podemos usar o seguinte comando:

$ sshd -t


Também é importante observar que apenas o usuário root deve poder ler e escrever neste arquivo. Isso significa que, se um arquivo de configuração SSHD_CONFIG estiver seguro, executando o comando anterior precisa de autoridade raiz.

Se nenhuma saída aparecer ao executar o comando de verificação de sintaxe anterior, significa que o arquivo está bom.

Modificando o arquivo de configuração e porta padrão

Em alguns casos, queremos executar uma nova instância de sshd Em uma porta diferente. Isso pode ocorrer porque a porta 22 já está em uso ou pode haver algumas áreas de risco na alteração desta porta em um ambiente de produção. Em tais tipos de situações, podemos criar um arquivo de configuração alternativo para o nosso servidor.

Vamos criar um novo arquivo sshd_config como sshd_config_new. Este arquivo pode ser usado para alguns parâmetros de servidor diferentes. Agora, vamos especificar este arquivo a ser considerado como o novo arquivo de configuração do servidor na porta número 100:

$ sudo/usr/sbin/sshd -f/etc/ssh/sshd_config_new -p 100


O daemon sshd agora ouve na porta 100. Podemos usar qualquer valor da porta, mas não o que já está em uso.

Agora, vamos verificar se nossa nova porta está funcionando como desejado. Para isso, temos que usar um programa de clientes SSH e executar o seguinte comando:

$/usr/bin/ssh -p 100



A opção "-p" especifica a porta 100 a ser usada no servidor remoto. Caso estejamos testando localmente, podemos usar o IP do servidor para ser o IP do localhost:

$/usr/bin/ssh -p 100 127.0.0.1

Solução de problemas de configuração OpenSSH

Às vezes, nosso servidor não está funcionando como desejado. Nesses casos, podemos usar o sinalizador "-d" para solucionar a configuração do servidor OpenSSH. Usando a bandeira "-d", o servidor entra no modo de depuração e lida com apenas uma única conexão.

A saída que é produzida no modo de depuração é detalhada. Podemos usar mais bandeiras "-d" para aumentar o nível de depuração. Vamos executar o comando Debug em nosso servidor usando o novo arquivo de configuração:

$/usr/sbin/sshd -d -p 100 -f/etc/ssh/sshd_config_new


A saída dos logs de comando anteriores para Stderr em vez de usar a instalação de autenticação do syslogd.

Conclusão

Openssh daemon ou SSHD é uma parte crucial de muitas infraestruturas de administração. Como tal, exige experiência para gerenciá -lo para operação ideal. Neste artigo, aprendemos sobre o arquivo de configuração do servidor OpenSSH como SSHD_CONFIG.