Obviamente, você deve fornecer a senha correta pelo menos uma vez.
Dê uma olhada em keychain para "armazenar" a frase secreta vinculada à chave privada. Keychain usa o ssh-agent para acessar as chaves.
Eu uso essa linha no meu script de inicialização do shell:
eval 'keychain --eval --nogui -Q -q .ssh/id_rsakey'
Portanto, eu tenho que fornecer a senha quando o shell for iniciado, e ela será armazenada durante todo o processo de login.
ssh-agent deve estar rodando, é claro, no meu caso ele é iniciado via .xinitrc