In some cases after adding public ssh keys for your Bitbucket account, Bitbucket could still fail with authentication and as a result it would prompt for your bitbucket password every time you pull or push. Generally, in my case the problem was in https authentication, probably in your .git/config file you’ll have something like this:

[remote "origin"]
	url = https://fvompe@bitbucket.org/linguapic/lpc.git
	fetch = +refs/heads/*:refs/remotes/origin/*

So, here some solutions for this problem :

  1. Consider changing remote url in .git/config
    [remote "origin"]
    	url = git@bitbucket.org:linguapic/lpc.git
    	fetch = +refs/heads/*:refs/remotes/origin/*
    In this way authentication still works through https and it uses your uploaded public ssh key from ~/.ssh/id_rsa.pub
  2. Another solution is to store plain password in ~/.netrc file, add following lines with your <login> and <password> :
    machine bitbucket.org
      login <login>
      password
    <password>