首先,我用的是 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