As Nasruddin says, this is because your key is encrypted with a passphrase so that others cannot read it.
The most convenient way to use passphrases is to use ssh-agent to start the authentication agent (which runs in the background):
$ eval "$(ssh-agent)" Agent pid 44304
... and then use ssh-add register your key with the agent so that it is automatically used for subsequent SSH connections:
$ ssh-add ~/.ssh/id_rsa Enter passphrase for /home/khanhpn/.ssh/id_rsa:
You will be prompted for a password when ssh-add started, but you will not need to do this again while ssh-agent running.
You can find more information about GitHub . Also note that you will have to do this every time you log in, so you can add the eval "$(ssh-agent)" step eval "$(ssh-agent)" to your .profile script.
Will vousden
source share