Não é possível enviar a senha para o prompt do scp durante a inicialização

1

Eu tenho o sistema operacional Ubuntu com partição criptografada. Durante a inicialização, quero baixar o arquivo-chave do servidor remoto usando scp e usá-lo para descriptografar a partição.

O que eu fiz:

/etc/initramfs-tools/hooks/myhook.sh

#PREREQS blah blah

mkdir ${DESTDIR}/usr
mkdir ${DESTDIR}/usr/bin
cp -pnL /usr/local/bin/dropbearmulti ${DESTDIR}/bin/dropbearmulti #compiled dropbear ssh/scp client
cp -pnL /etc/initramfs-tools/root/.ssh/* ${DESTDIR}/root/.ssh #copy keys/known_hosts to image

/etc/initramfs-tools/scripts/local-top/myscript.sh

ln -s /bin/dropbearmulti /usr/bin/dbclient #symlink for dbclient (need to make scp work)
export HOME=/root
/bin/dropbearmulti scp user@host:/home/user/file /tmp/file
#HERE I NEED TO READ PASSWORD FOR SCP

Rede está configurada, tudo está bem. Quando ele executa scp , eu vejo prompt onde eu preciso digitar a senha, mas eu não posso fazer isso (ele trava) processo de inicialização está preso.

Eu tentei usar plymouth :

/bin/plymouth ask-for-password --prompt "Specify password: " | /bin/dropbearmulti scp user@host:/home/user/file /tmp/file

Ele estava pedindo senha, eu era capaz de inseri-lo e enviá-lo, mas ele não passou para scp (scp novamente pediu senha e ficou preso)

Como posso passar a senha de stdin para o comando scp ?

Obrigado

    
por akasummer 06.04.2017 / 14:55

1 resposta

0

Não sei quanta segurança você precisa, mas uma opção é veicular o arquivo de chave via HTTPS, em um diretório protegido por senha. Você pode incluir curl no initramfs e usá-lo para baixar o arquivo-chave. Eu acho que seria menos complicado do que o SSH aceitar senhas de várias fontes.

    
por 09.04.2017 / 02:01