To deploy your source code onto Heroku you need to first authenticate yourself (prove you are who you say you are). You only need to authenticate yourself once for each computer you use to connect to Heroku.
Heroku has released a new service called Http Git which removes the need for a public key and enables those users who would otherwise be stuck behind restrictive firewalls.
To authenticate yourself to heroku, open a command line terminal and enter the following command:
Provide your Heroku username and password when prompted. If your account has 2-factor authentication configured, you will also be prompted for a 2-factor code.
If this command is successful, your Heroku API key is added to the
~/.netrc file. When you run other Heroku Toolbelt commands or push code, this API key is used to authenticate you.
For more information, see the article Http Git.
You can now move on to the next section.
You can also authenticate yourself with Heroku via public key encryption. To do so you need to add an SSH key to your Heroku account. This same approach taken by services such as Github, however its much easier to add your key with the Heroku toolbelt.
If you have an existing SSH key, use the following command
To use your SSH key with your heroku apps, you need to specify the
--ssh-git option on the
heroku create command
heroku create --ssh-git my-app
You can configure Git to always use SSH when pushing to Heroku no mater how the app was create using the command
git config --global url.ssh://firstname.lastname@example.org/.insteadOf https://git.heroku.com/. More information is in the Deploying with Git article.
If you do not have an SSH key, you can create one using the
ssh-keygen command. When you create the public key, ensure you add the email address of your Heroku account as a comment:
ssh-keygen -t rsa -C "email@example.com"
You can then add a new key to Heroku using the following command:
If you have only one public key, this command will just add it to heroku without prompting. If you have more than one pubic key then heroku will prompt you as to which key you want to add.
For more information, see the Managing SSH Keys article on Heroku document center.