ssh não está mais usando ~ / .ssh / config

16

Não consigo fazer ssh em nada que consegui. Depois de um pouco de escavação eu descobri que não está lendo a configuração ssh do meu diretório home.

$ ssh -xvvv server
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
(...)

Quando em um computador idêntico de um amigo, onde tudo funciona, é assim:

$ ssh -xvvv server
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /Users/kuba/.ssh/config
(...)

Funcionou mais cedo e não tenho conhecimento de nada que eu possa ter feito para causar esse problema. Como isso pôde acontecer e como consertar isso?

No link da documentação apontado por tike, afirma-se que

Because of the potential for abuse, this file must have strict permissions: read/write for the user, and not accessible by others.

Minhas permissões são:

$ ls -la ~/.ssh
total 80
drwx------+ 42 kuba  1029   1428 Jul  1 16:33 ..
-rwx------   1 kuba  1029   1528 May 15 13:07 config
(...)

Eu acho que o problema pode estar com uma confusão sobre o diretório inicial. Quando forço o arquivo de configuração local, ele começa a funcionar e, de repente, começa a ler a partir de /nas/kuba

$ ssh -xvvvF ~/.ssh/config server
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /Users/kuba/.ssh/config
debug1: /Users/kuba/.ssh/config line 1: Applying options for *
debug1: /Users/kuba/.ssh/config line 39: Applying options for bio
debug2: ssh_connect: needpriv 0
debug1: Connecting to XXXX [YYYY.YYY.YYY.YYY] port 22.
debug1: Connection established.
debug1: identity file /nas/kuba/.ssh/id_dsa type -1
                      ^^^^^^^^^^

Mas meu diretório home parece estar definido ok:

$ cd ~; pwd
/Users/kuba
$ echo $HOME
/Users/kuba
    
por Kuba 01.07.2014 / 16:54

6 respostas

10

Você parece estar preso entre o ssh_config global específico do usuário e o global.

Verifique as configurações de permissão do arquivo de configuração do usuário ( ~/.ssh/config ) e o arquivo de configuração do sistema ( /etc/ssh/ssh_config ) para entender mais detalhadamente.

Você pode ler mais sobre este aqui . Praticamente, todos os arquivos sob o diretório .ssh baseado em usuário devem estar em 600, e o arquivo config deve estar em 644. Você pode definir isso com os seguintes comandos em seu diretório pessoal:

chmod 600 ~/.ssh/* 
chmod 644 ~/.ssh/config
    
por 01.07.2014 / 17:03
3

verificar permissões

ls -lsd ~/.ssh

e

ls -ls ~/.ssh/*

Se as permissões forem ruins, o cliente ssh não tentará ler a partir dele

    
por 01.07.2014 / 16:57
0

Eu tive o mesmo problema e consegui corrigi-lo definindo o sinalizador + x no meu ~/.ssh dir (0700), além de definir 0600 no ~/.ssh/config .

    
por 27.01.2016 / 04:18
0

Por que vale a pena, eu tive o mesmo problema e corrigi-lo, fazendo o ssh criar novamente a pasta .ssh (apenas renomear ssh e executar algum comando ssh), e copiando os arquivos necessários depois, com o apropriado permissões. (config com 600).

Aparentemente, o ssh torna-se suspeito se a pasta .ssh for modificada de uma forma que não aprova ...

    
por 03.02.2017 / 12:28
0

O SSH não lerá a configuração local se estiver em um sistema de arquivos montado pelo NFS. Vale a pena verificar, porque todas as permissões podem ser boas e o SSH (pelo menos a versão 6.6) não lhe dará nenhuma indicação do motivo pelo qual ele não está lendo a configuração do usuário. (No entanto, ele será lido em um volume NFS se você usar a opção -F ).

    
por 24.10.2017 / 10:43
0

Encontrei o mesmo problema nos MacOs. Olhando as informações de depuração de um login manual (ssh @), descobri que aparentemente o ssh achava que meu diretório inicial era /srv/home/<userid> e estava procurando o diretório .ssh de lá e ignorou o em /Users/<userid>/.ssh/

Provavelmente tem algo a ver com o trabalho de configurar os Macs de uma maneira específica, mas eu recomendo verificar se ssh e o Sistema Operacional concordam sobre onde o diretório base está;)

    
por 17.07.2018 / 07:54

Tags