Não, a menos que a caixa Solaris em questão tenha sido configurada de uma maneira bastante exótica / estranha, não há como você especificar uma chave pública para usar.
Supondo que estamos falando sobre o cliente scp usual, que faz parte do OpenSSH, ele não aceitará uma senha de forma não interativa.
Uma solução pode ser escrever seu próprio "cliente" scp. Ou seja, coloque algo em conjunto na sua linguagem de script favorita, usando um módulo / biblioteca adequado, permitindo que a senha seja inserida de forma não interativa.