###單SSH祕鑰管理git
一、在我的電腦上執行下面的命令,便可生成ssh的keygithub
$ ssh-keygen -t rsa $ cd ~/.ssh $ ll
二、將生成的id_rsa.pub拷貝到服務器/root/.ssh/下,若沒有目錄,則建立shell
三、登陸遠程服務器,這將是最後一次輸入密碼vim
ssh root@xxx.xxx.xxx.xxx (若不是22端口 -pxxxx)
四、登陸服務器後,執行服務器
# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
五、關閉終端,從新打開測試,免密碼登陸成功。ssh
###配置github免密碼登陸(須要再建立SSH的祕鑰)ide
一、執行下面命令,能夠看到~/.ssh目錄下,又生成了兩個文件git_rsa和git_rsa.pub測試
$ ssh-keygen -t rsa -C "youremail@email.com" -f ~/.ssh/git_rsa $ cd ~/.ssh $ ll
二、在~/.ssh目錄下,新建config文件。fetch
$ vim config Host github.com Hostname github.com User git Identityfile ~/.ssh/git_rsa $ sudo chmod +600 ./config
三、這兩個選項會在之後的使用過程當中自動添加到代碼中。url
$ git config --global user.name "用戶名或者用戶ID" $ git config --global user.email 郵箱
四、登陸github,Setting--->SSH and GPG keys--->New SSH key 將git_rsa.pub中的內容複製到文本框中,保存。
五、命令行輸入,測試鏈接是否成功,若出現Permission denied (publickey),說明鏈接失敗,請刪除git_rsa和git_rsa.pub後,重複1——4步。
$ ssh -T git@github.com Hi username! You've successfully authenticated, but GitHub does not provide shell access.
六、將git項目push到github。
6.1首先查看git當前的推送方式 ``` $ git remote -v origin https://github.com/xxxxxx/someproject.git (fetch) origin https://github.com/xxxxxx/someproject.git (push) ``` 6.2將https改成ssh的方式 ``` $ git remote set-url origin git@github.com:xxxxxx/someproject.git ``` 6.3在git項目的根目錄下執行 ``` $ git push ```
七、推送成功