Não posso mostrar nada que pude. Depois de um pouco de pesquisa, descobri que não está lendo a configuração ssh no meu diretório pessoal.
$ 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, fica assim:
$ ssh -xvvv server
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /Users/kuba/.ssh/config
(...)
Funcionou anteriormente e não tenho conhecimento de nada que pudesse ter feito para causar esse problema. Como isso pôde acontecer e como corrigi-lo?
Na documentação, apontada por tike, afirma que
Devido ao potencial abuso, esse arquivo deve ter permissões estritas: leitura / gravação para o usuário e não acessível por outros.
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 home. Quando forço o arquivo de configuração local, ele começa a funcionar e, de repente, começa a ler/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 dir de casa parece estar definido ok:
$ cd ~; pwd
/Users/kuba
$ echo $HOME
/Users/kuba
ssh
ignora a HOME
variável de ambiente. É uma prática ruim ignorar HOME
, parece que é o que ssh
faz. Se ele não usar HOME
, a única alternativa que eu conheço é procurá-lo no uid
. Se você tiver duas entradas /etc/passwd
idênticas uid
, as duas acabarão usando o mesmo .ssh/config
arquivo, mesmo que tenham uma casa diferente.