Depende da configuração, mas, geralmente, você deve conseguir replicar o que o ssh-copy-id
faz no arquivo em lote sftp
:
!cat ~/.ssh/id_rsa.pub > /tmp/authorized_keys # prepare filename with keys
mkdir .ssh
put /tmp/authorized_keys .ssh/
!rm /tmp/authorized_keys # cleanup
mas isso tem suas limitações:
- Se já houver alguma chave em
authorized_keys
, ela será substituída (você pode baixar o arquivo existente localmente e anexar localmente - Se o diretório já existir, poderá falhar
- Leva apenas
id_rsa
(como uma prova de conceito). Adicionar outras chaves é bastante simples
Armazenar o arquivo acima em copy-id.sftp
e executar sftp -b copy-id.sftp your_host
deve fazer o trabalho.