Quero acessar um servidor remoto via ssh que definiu o local para chaves autorizadas definidas como /path/to/ssh/authorized_keys.%u
.
Agora estou me perguntando como posso motivar ssh-copy-id
a criação de um authorized_keys
arquivo naquele local seguindo essa convenção de nomenclatura.
Eu tentei ssh-copy-id -i /path/to/id_rsa.pub username@[ip-addresse] -o /path/to/ssh/authorized_key.username
, mas isso me dá um erro:
ERROR: command-line: line 0: Bad configuration option: /path/to/ssh/authorized_keys.username
escrevendo isso, me pergunto se o scp alternativamente pode fornecer uma solução (não posso dizer exatamente como).
Alguém pode ajudar com isso?
Responder1
ssh-copy-id
não é possível instalar chaves públicas em um arquivo fornecido pelo usuário. .ssh/authorized_keys
(ou /etc/dropbear/authorized_keys
para um servidor dropbear). Você poderia contribuir com uma opção para permitir que o usuário forneça isso, mas levará algum tempo até que tal patch seja aceito upstream e downstream.
Quando o usuário tiver um arquivo completo authorized_keys
localmente, ele poderá carregá-lo com sftp
. Menos útil se eles não souberem todas as chaves necessárias e poderão bloquear alguém se algumas forem omitidas.
Como alternativa, configure o sshd para que os usuários não precisem fazer upload de suas chaves para cada host. Considere AuthorizedKeysCommand
que isso procura chaves de algum sistema, seja um FreeIPA sofisticado ou algo mais simples, como fazer download de algum servidor web.