ssh命令 遠程登陸-公鑰免密登陸及設置別名遠程訪問服務器

最近在工做過程當中,遇到一個問題,就是不定時的須要去清除服務器上的一些緩存,須要登陸到遠程主機。網上查了一下,發現網上也有不少的工具,but,最後仍是用了Mac自帶的終端。具體操做以下:算法

首先打開系統偏好設置,點擊共享,勾選遠程登陸。shell


勾選遠程登陸

2.打開ssh:Mac Terminal是自帶ssh的,可使用 whereis ssh查看vim


查看ssh

3.查看現有的進程:緩存


現有的ssh進程

4.登陸 若是是第一次登陸遠程主機:會出現以下提示安全



沒法確認host主機的真實性,只知道它的公鑰指紋,問你還想繼續鏈接嗎

什麼是公鑰呢?所謂"公鑰指紋",是指公鑰長度較長(這裏採用RSA算法,長達1024位),很難比對,因此對其進行MD5計算,將它變成一個128位的指紋。上例中是98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d,再進行比較,就容易多了。服務器

很天然的一個問題就是,用戶怎麼知道遠程主機的公鑰指紋應該是多少?回答是沒有好辦法,遠程主機必須在本身的網站上貼出公鑰指紋,以便用戶自行覈對。app

若是用戶決定接受這個遠程主機的公鑰:選擇yesssh

系統會出現提示表示主機已經獲得承認,並提示輸入密碼:工具



主機獲得承認

輸入密碼

5.設置別名遠程訪問網站

若是你目前只管理一個主機的話,那倒不是須要去設置別名。可是若是有多個主機要管理,每次登陸時都須要輸入主機:ssh username@12.18.429.21 ,很容易輸錯。因此能夠給不一樣的主機起不一樣的別名以示區分。設置以下:

使用cd ~/.ssh/ 進入ssh目錄,使用ls列出目錄下的全部文件,會看config文件,若是沒有的話,能夠手動添加:touch config(添加config文件).再次輸入ls命令這時你就看到多出了一個config文件。而後使用vim 編輯config:vim config


Host 後邊的是名稱,之後能夠根據這個名稱進行訪問;HostName是你的主機IP地址;User爲主機登陸的用戶名

設置完成,後期的話使用:ssh test 而後輸入密碼,就能夠登陸到遠程主機啦!

6.公鑰登陸

使用密碼登陸,每次都必須輸入密碼,很是麻煩。好在SSH還提供了公鑰登陸,能夠省去輸入密碼的步驟。

所謂"公鑰登陸",原理很簡單,就是用戶將本身的公鑰儲存在遠程主機上。登陸的時候,遠程主機會向用戶發送一段隨機字符串,用戶用本身的私鑰加密後,再發回來。遠程主機用事先儲存的公鑰進行解密,若是成功,就證實用戶是可信的,直接容許登陸shell,再也不要求密碼。

這種方法要求用戶必須提供本身的公鑰。若是沒有現成的,能夠直接用ssh-keygen生成一個:

$ ssh-keygen

運行上面的命令之後,系統會出現一系列提示,能夠一路回車。其中有一個問題是,要不要對私鑰設置口令(passphrase),若是擔憂私鑰的安全,這裏能夠設置一個。

運行結束之後,在$HOME/.ssh/目錄下,會新生成兩個文件:id_rsa.pub和id_rsa。前者是你的公鑰,後者是你的私鑰。

這時再輸入下面的命令,將公鑰傳送到遠程主機host上面:

$ ssh-copy-id user@host

好了,今後你再登陸,就不須要輸入密碼了。

相關文章
相關標籤/搜索