Você deve considerar o uso de chaves SSH. Com uma chave, você pode se conectar a um computador sem ter que digitar uma senha. Também é recomendado como uma alternativa na página do manual sshpass.
Eu tenho 3 sistemas Linux.
System_A System_B System_C
Eu quero copiar um arquivo de "System_B" para "System_C", enquanto estiver logado do sistema System_A.
Abaixo, o código copia o arquivo de "System_A" para "System_C" (enquanto estou executando isso enquanto estou logado no "System A")
sshpass -p "pass123" scp /u01/File_A.txt oracle@$ServerIP_C:/u01/File_C.txt
Além disso, o código abaixo faz o que eu quero.i.e. copia o arquivo de "System_B" para "System_C", enquanto está logado do sistema System_A.
sshpass -p "pass123" scp oracle@$ServerIP_B/u01/File_B.txt oracle@$ServerIP_C:/u01/File_C.txt
Mas no código acima, ele pede 1 senha, já que estou passando apenas 1 senha através de sshpass ao invés de 2.
Como posso passar a segunda senha por meio do sshpass aqui para que ela não solicite a senha.
Eu tentei códigos abaixo:
sshpass -p "pass123" sshpass -p "pass123" scp oracle@IP_B:/tmp/File_B.txt oracle@IP_C:/tmp/File_C.txt
This throws error: Conflicting password source
sshpass -p "pass123" scp oracle@IP_B:/tmp/File_B.txt sshpass -p "pass123" oracle@IP_C:/tmp/File_C.txt
Promted for 1 Password
Você deve considerar o uso de chaves SSH. Com uma chave, você pode se conectar a um computador sem ter que digitar uma senha. Também é recomendado como uma alternativa na página do manual sshpass.