Por que o SSH verifica a permissão para o arquivo de configuração em ~ / .ssh / config, mas não em outro lugar?

4

Eu tenho um .ssh/config com -rw-rw-r-- . Eu sei que você deveria chmod 600 . Isso não é problema meu.

O que eu acho confuso é que se eu colocar o mesmo arquivo de configuração em outro lugar - digamos, ~/tmp/ssh_config - e então executar ssh -F ~/tmp/ssh_config , as permissões não serão verificadas! Isso acontece no OSX.

Por que isso? Por que o SSH se importaria com as permissões em um local, mas não em outro?

    
por awendt 30.03.2012 / 08:40

1 resposta

5

Se eu fosse adivinhar isso, sugiro que, quando o cliente ssh estiver usando uma configuração dos locais padrão, o usuário que está iniciando a conexão não esteja realmente ciente de que um arquivo de configuração está sendo usado. Há uma suposição implícita de que o arquivo de configuração não foi adulterado. Se as permissões forem muito permissivas, isso pode significar que o usuário está confiando que a configuração padrão é segura, quando não é.

Quando você faz referência a um arquivo de configuração com a opção -F , você está dizendo explicitamente que deseja esse arquivo de configuração. Você está basicamente dizendo ao cliente, que você sabe o que você quer, e esse arquivo de configuração é isso. Você tem a responsabilidade de saber o que está fazendo. Existem casos de uso válidos em que um grupo de pessoas pode querer compartilhar um arquivo de configuração comum para um conjunto de servidores comuns.

    
por 30.03.2012 / 09:48

Tags