Configuração adequada .Permissões SSH/Config

Configuração adequada .Permissões SSH/Config
O protocolo SSH é um protocolo seguro que geralmente é usado para conectar a dispositivos remotos, como servidores e dispositivos de rede, incluindo roteadores e interruptores. Funciona em uma configuração cliente-servidor e, por padrão, ouve na porta 22 (embora isso possa ser alterado quando necessário). A SSH emprega diferentes técnicas de criptografia e hash para garantir que a comunicação entre o cliente e o host remoto seja criptografada e a salvo de espora de espionagem.

Os arquivos SSH são armazenados no .ssh pasta. Esta é uma pasta oculta que reside no diretório inicial. O .ssh O diretório não é criado por padrão; é criado quando você inicia uma conexão com um host remoto ou usa o ssh-keygen comando para gerar as chaves de autenticação pública e privada como quando você deseja configurar a autenticação SSH sem senha.

O .ssh pasta. Contém arquivos SSH essenciais como:

  1. Chaves públicas e privadas ( id_rsa e id_rsa.bar ).
  2. O conhecido_hosts arquivo - contém teclas públicas de todos os sistemas remotos aos quais você conectou.
  3. O Config arquivo de configuração do cliente

Se o Config O arquivo não existe, você pode criar facilmente um como mostrado.

$ touch ~//.ssh/config

O .arquivo de configuração do cliente SSH/Config

Cada vez que você inicia uma conexão SSH, você precisa especificar detalhes como o endereço IP ou o nome de domínio e a porta SSH está ouvindo. Por exemplo,

$ ssh [email protected] -P 22

Pode ser agitado ter que sempre lembrar tais detalhes. E é aqui que o ~/.ssh/config Arquivo entra. O ~/.ssh/config O arquivo é um arquivo de configuração que permite configurar detalhes de configuração por usuário do host remoto. Isso economiza a agonia de sempre ter que recordar os detalhes por host necessários para a conexão.

Um arquivo de configuração de amostra aparece como mostrado.

Host Staging-Server
Nome do host 192.168.2.103
Usuário James
Porta 22

Um comando ssh simples no host remoto pareceria o seguinte:

$ SSH STAGING-SERVER

O .Permissões de arquivo SSH/Config

Por padrão, o ~/.ssh/config O arquivo de configuração do cliente possui o 644 Permissões de arquivo. Você pode verificar se o uso do LS -LA comando da seguinte forma.

$ ls -la ~//.ssh/config

Isso implica que o proprietário e o grupo do arquivo tenham lido e escrevem permissões (RW), enquanto outros usuários só leem permissões (r).

-RW-RW-R--

OBSERVAÇÃO:

Como regra geral, nunca atribua permissões de gravação a outros usuários. Isso representa um risco de segurança para o seu arquivo e outros usuários que não são você ou em seu grupo podem modificar o conteúdo do arquivo. A atribuição de permissões de gravação resultará no 'Proprietário ou permissões ruins'Erro conforme indicado abaixo.

Aqui, o arquivo de configuração recebeu as permissões 666. Isso implica que todos podem ler e escrever o arquivo.

Da mesma forma, o mesmo caso se aplica aqui em que o arquivo foi atribuído 777 permissões. Isso implica que todos podem ler, escrever e executar o arquivo. Simplificando, alguém tem todos os direitos do arquivo potencialmente perigoso.

Best Practice recomenda que você deixe as permissões padrão em 664 ou 600, Onde apenas o proprietário leu e escreve permissões (RW). Dessa forma, o arquivo permanece seguro de ser modificado por usuários não autorizados.

Além disso, verifique se você possui o arquivo. Se o arquivo for alterado para outro usuário, o SSH não poderá resolver o nome do host fornecido no arquivo de configuração.

No exemplo abaixo, o ~/.ssh/config A propriedade foi definida como Bob: Bob.

Para resolver esse problema, voltei para a propriedade original do arquivo usando o chown comando.

$ sudo chown James: James ~//.ssh/config

Com as permissões de arquivo revertidas, agora posso ter acesso invocando o comando ssh seguido pelo nome do host especificado no arquivo de configuração.

$ SSH STAGING-SERVER

E isso é tudo o que você precisa saber sobre definir permissões no ~/.ssh/config arquivo. Certifique -se de não definir permissões de leitura para o restante dos usuários e verifique se você possui o arquivo.