Esse tipo de coisa me deixa louco - espero que soluções óbvias. Tenho chaves no laptop Win 10 e em um dos meus servidores Linux. Se eu usar o puTTY, onde posso navegar explicitamente até o arquivo-chave no laptop, funciona perfeitamente.
Mas não tive sorte ao usar o ssh do CL com troca de chaves. E é aqui que estou preso ...
1\ Servidor Linux usando uma porta não padrão (digamos, 1234). Suponha que o nome de usuário no servidor Linux seja bob.
2\ se eu usar autenticação de senha simples e não troca de chaves, então
ssh -p 1234 [email protected]
funciona perfeitamente.
3\ mas, se eu tentar fazer o ssh na linha de comando, apontando para o arquivo-chave, não tenho essa sorte. O diretório de usuários no laptop possui um espaço (digamos, c:\users\Bob Jones...), que pode ser parte do problema (ou não). O ppk (que chamarei de server.ppk) está em c:\users\Bob Jones.ssh
Então, em teoria, o seguinte deveria funcionar (novamente, em teoria...)
ssh -i "C:\Users\Bob Jones/.ssh/server" [email protected] -p 1234
Mas... sem sorte. O anterior (e as várias permutações que tentei) gera erros como:
Warning: Identity file C:\Users\Bob Jones/.ssh/server' not accessible: No such file or directory.
[email protected]: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
Então, que coisa óbvia estou perdendo? Keyfile está lá e funcionaperfeitamenteusando puTTY, onde posso usar a GUI para apontar explicitamente para a chave. Mas dane-se se eu conseguir descobrir como fazer as coisas funcionarem usando o CL.
Desde já, obrigado...
Responder1
O Windows entende "C:\Users\Bob Jones/.ssh/server" vs "C:\Users\Bob Jones.ssh\server.ppk"