Mac使用ssh-key免密碼登陸服務器

記錄一次完整的部署服務到遠程服務器上的過程 - 第一篇

首先,我用的是 macbook ,我不喜歡每次登錄服務器(Unix)都輸入密碼,有點噁心,那麼據說能夠 ssh 免密登錄。以前操做過,可是好久不用,絕對的想不起來啊。git

終極目標: ssh user@host -p port 直接進入服務器服務器

1.確認本身是否有公/私鑰ssh

hallluck:~ faithfairy$ cd .ssh  
    // 輸入 cd .ssh 回車,進入 .ssh 文件夾 「hallluck:~ faithfairy$」是iTerm的前綴,不用理會
    
    hallluck:.ssh faithfairy$ ls -al  
    // 輸入 ls -al 回車,查看當前文件夾的全部文件,尋找一個叫作 id_rsa.pub 的文件, 要是有,就直接看 2,要是沒有,繼續往下看
    
    hallluck:.ssh faithfairy$ ssh-keygen -t rsa  
    // 輸入 ssh-keygen -t rsa 回車,以後就能夠一路回車,通常都不設置密碼,便可在~/.ssh目錄中生成私鑰文件(id_rsa)和公鑰文件(id_rsa.pub)。若是熟悉git ssh-key配置的朋友,可能已經很熟悉這個步驟了,因此咱們只要把公鑰上傳到咱們的服務器的~/.ssh目錄就行了

2.上傳咱們的公鑰文件code

hallluck:.ssh faithfairy$ scp id_rsa.pub user@8.8.8.8 -p 2222:~/.ssh/
    // 輸入 scp id_rsa.pub user@8.8.8.8 -p 2222:~/.ssh/ 回車,本地公鑰上傳到服務器 .ssh 文件夾
    
    // 若是服務器上的 ~/ 目錄下沒有 .ssh 文件夾,那麼請登陸服務器後建立便可
        1. hallluck:~ faithfairy$ ssh user@8.8.8.8 -p 2222   回車後提示輸入密碼
        2. 顯示下面內容:
            Last login: Tue Jun 18 02:54:58 2019 from 192.168.888.888
        3. 輸入 mkdir .ssh 建立 .ssh 文件夾    
            [user@localhost ~]$ mkdir .ssh

3.登陸服務器修改設置公鑰部署

hallluck:~ faithfairy$ ssh user@8.8.8.8 -p 2222
    // 登陸服務器
    
    [user@localhost ~]$ cd .ssh
    // 進入 .ssh 文件夾
    
    [user@localhost .ssh]$ mv id_rsa.pub authorized_keys
    // 將~/.ssh目錄下的id_rsa.pub文件更名爲authorized_keys 
    
    chmod 700 ~/.ssh/
    chmod 600 ~/.ssh/authorized_keys
    //修改文件權限

4.完成後的嘗試macbook

hallluck:~ faithfairy$ ssh user@192.168.888.888
    // 從新打開iTerm,輸入並回車,這時再也不提示「請輸入密碼」了

5.後續
若是服務器上已經有 authorized_keys 文件,而且裏面已有其餘人的公鑰了,那麼就不能用剛纔的「改文件夾」的方法去操做了,而要選擇「追加」的方法,以下操做it

hallluck:.ssh faithfairy$ scp id_rsa.pub user@8.8.8.8 -p 2222:~/.ssh/
    // 輸入 scp id_rsa.pub user@8.8.8.8 -p 2222:~/.ssh/ 回車,本地公鑰上傳到服務器 .ssh/ 文件夾
    
    [user@localhost .ssh]$ cat id_rsa.pub >> authorized_keys
    // 進入服務器的 .ssh 文件夾,執行下面的操做

大功告成ast

相關文章
相關標籤/搜索