大家都知道,乙個悠久的歷史故事,使用ssh金鑰對就可以不用密碼登陸遠端計算機。經典資料也是不少,不過那些資料對新學者可是有點太不象人話了,不好理解。所以本文試圖用更人性一點的語言解釋,並演示如何在mac之間實現。
不得已,還得先說說術語。ssh金鑰對,說白了就是一對鎖和鑰匙。金鑰對之所以說是"對",那是因為它是由叫做公有和私有兩個金鑰組成,而且是一對一的一對,它們最初是由隨機產生的一對質數生成的-具體深度的技術細節要牽扯到數學,頭大的很。目前來說,針對世界上99.99%的盜賊,基本是不可能破解的,也就是無法通過共有金鑰,來反推出私有金鑰的內容。總之吧,記住:公有金鑰是可以公開給任何人的,而私有金鑰是要自己儲存好的;所以,把它們當作一把鑰匙開一把鎖。
通過工具,可以製作一把鑰匙(私有金鑰)和一把鎖(公有金鑰),這個鎖只能使用這一把把鑰匙開啟,在計算機這個可以自由複製的世界裡,鑰匙和鎖都可以複製,如果你好好保管,不把鑰匙丟失/公開,那麼鎖做多少把都無所謂,反正就是這一把鑰匙可以開,也就是說,咱可以給要控制的所有計算機都安裝這把鎖的複製品,那麼用這一把鑰匙就可以控制這些計算機了。有的時候為了安全,你還可以給這把鑰匙加上乙個暗號(passphrass),暗號不對,這把鑰匙也沒法使用。
計算機系統就如同一座防衛森嚴的城堡,它的圍牆根,有個正門(登入視窗服務),是讓人們正常進入的通道,那兒有個門衛(登陸驗證程式)讓你出示證件(使用者名稱和密碼);有時,門衛需要打**給大管家,確認你的身份(網路使用者登陸),因為通行證/路牌可以被盜/洩露,但是城牆內的那個管家只有乙個,它認識所有被准許進入的人,管家一看,ok就是這個人了,門衛才讓你進,如果**故障不通,你也從來沒有來過留下指紋,就不讓你進;有的時候一看就是本地熟人(本地帳戶),打聲招呼歐了,就讓你進門去了;而本地熟人這個路數很容易出現問題,門衛可能被收買或者易容術騙過門衛。
為什麼要用ssh金鑰就可以不用密碼登陸其它計算機呢?那是因為,你或者任何有足夠權利的人(大管家自己或者大管家的替身)-在那個計算機的一面牆(ssh服務)上,安裝了一道門(authorized_keys),在這個門上安裝了鎖,這個鎖就是你的公有金鑰,你拿著自己的那把鑰匙-私有金鑰,如果這把鑰匙設定了暗號,那麼在使用鑰匙時你先要對上暗號-嘛哩嘛哩哄,開啟這把鎖,推開門就進去了。另外乙個人-如果又足夠許可權,也可以安裝自己的乙個門和鎖,用自己的鑰匙開鎖也可以進去。
一般來說,開ssh進去的路,都是區區彎彎的小路,不象正門,大道兩旁燈火通明的,有會客室,有大廳,有廂房,人來人往的,你動動嘴就有衙役跟班的幫你四處行走,把事給辦了;而ssh的小路,辦什麼事都要自己親自去做,比較累,不過有些事情只要是mo men辦起來也特別順利,。
所以,計算機是否安全不能光看牆有多高,布滿電網,拉著帶刺鐵絲網的,看上去挺嚇人的。笨的去剪鐵絲網,扛著大炮轟(暴力破解),巧的的找竅門,找到門就好說了。所以是否安全,主要看你牆上有多少門,每個門和門鎖是否都足夠安全。話說遠了。
Qt使用日記 1 安裝
以前開發軟體一直使用borland c builder系列的開發工具,但用久了,覺得寫出來的程式介面太一般了 有很大的原因是研究不深?另外,基於編寫多平台 主要是linux和unix 軟體的需求,需要另外找一套支援多平台介面開發包。在google上找了幾日,瞄上了qt.下面要記錄的是學習 使用qt的...
Qt使用日記 1 安裝
以前開發軟體一直使用borland c builder系列的開發工具,但用久了,覺得寫出來的程式介面太一般了 有很大的原因是研究不深?另外,基於編寫多平台 主要是linux和unix 軟體的需求,需要另外找一套支援多平台介面開發包。在google上找了幾日,瞄上了qt.下面要記錄的是學習 使用qt的...
學習日記1
學習日誌 姓名 趙鵬 日期 2018.7.9 今日學習任務 安裝環境,學習c語言的基礎知識,包括資料型別,運算子,演算法,函式,以及迴圈語句的掌握。今日任務完成情況 本日任務按照老師要求完成,今日開發中出現的問題彙總 編譯程式的出錯,沒加,演算法結構的不正確和不完整,求餘符號 的使用錯誤。今日未解決...