Eu configurei o servidor ssh remoto para login via par de chave pública-privada (somente).
Eu posso entrar no servidor e executar comandos usando ssh:
ssh [email protected] -i ~/.ssh/my_key echo fu
Gostaria de enviar comandos para o servidor usando parallel-ssh
do pssh
package.
Eu uso a opção -H
para especificar a lista de servidores (um servidor), -i
para imprimir os resultados na tela e -A
para que o programa peça uma senha para a chave.
A documentação declara que é capaz de passar argumentos para baixo para ssh usando -x
ou -X
. No entanto, nem o seguinte comando funciona:
parallel-ssh -A -i -H "[email protected]" -X "-i ~/.ssh/my_key" 'echo fu'
saída sendo:
Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password:
[1] 17:03:35 [FAILURE] [email protected] Exited with error code 255
Stderr: Warning: Identity file ~/.ssh/my_key not accessible: No such file or directory.
Permission denied (publickey).
(eu posso ver o arquivo com ll ~/.ssh/my_key
.)
Nem este comando é bem-sucedido:
parallel-ssh -A -i -H "[email protected]" -x '-i ~/.ssh/my_key' 'echo fu'
saída:
Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password:
[1] 17:15:06 [FAILURE] [email protected] Exited with error code 255
Stderr: Enter passphrase for key '/home/local_user/.ssh/my_key':
Permission denied (publickey).
Este segundo é completamente estranho, pois man parallel-ssh
afirma que a opção -A
faz "Solicitar uma senha e passá-la para ssh. A senha pode ser usada para desbloquear uma chave ou para autenticação de senha. "
Então, como alguém poderia usar uma chave pública protegida por senha dentro do comando parallel-ssh
?