Eu tenho 2 máquinas machine1 e machine2.
Eu quero escrever de escrever algum conteúdo no arquivo em machine2 de machine1.
Em uma mesma máquina, posso executar sudo cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
para escrever o conteúdo do ~/.ssh/id_dsa.pub
arquivo ~/.ssh/authorized_keys
.
Mas eu quero o conteúdo de ~/.ssh/id_dsa.pub
machine1 em ~/.ssh/authorized_keys
arquivo em machine2. Eu posso fazer ssh e fazer isso. Já que estou instalando o hadoop em modo silencioso em comando único com nome de usuário e senha.
Eu não quero fazer scp
o que substitui o arquivo inteiro.
Como posso fazer isso em um único comando fornecendo nome de usuário/senha de outra máquina.
O comando ssh captura o stdin local e também pode executar comandos externos. Se você combinar esses dois fatos, isso se torna possível:
Há também um comando chamado
ssh-copy-id
destinado a automatizar esse processo. Você pode verman ssh-copy-id
para mais informações.Você pode fazer algo assim:
Mas você provavelmente deve usar
ssh-copy-id
em vez disso, que é uma ferramenta para esse propósito exato:ou