[技術]金鑰認證設定好,遠端登入沒煩惱。

作者: neversay (子不語)   2014-08-09 19:35:30
網誌版 (運用貧瘠的美術能力想把金鑰認證流程畫出來 XD):
http://neversaycoding.tumblr.com/post/94238914127
最近在玩Github與線上IDE諸如Koding或Nitrous.IO,在玩這些平台的時候,常常
有些跨平台的需求,諸如:
* 想把Github上的專案抓進本機,然後修改後上傳回Github。
* 想從線上IDE的虛擬機器裡把Github上的專案抓下來修改並上傳。
* 想要從本機用SSH登入Koding或Nitrous.IO等線上IDE的終端機。
總之,各種登入遠端,或是把專案傳到遠端平台,其實都需要一些特殊設定才能達
成。這篇就來小記一下SSH金鑰認證的原理跟設定。
作者: ssccg (23)   2014-08-09 19:48:00
公鑰與私鑰之間沒有數學上的關係??
作者: banjmin (HD)   2014-08-09 20:07:00
質疑同樓上 rsa兩個大質數 同餘 費馬小定理不是數學嗎? Miller-Rabin Primality Testing不是數學嗎?分享公開金鑰原理是好事 但是不要誤導
作者: kuso0516 (隱)   2014-08-09 22:30:00
可能是想說只有公鑰沒辦法用數學的方式推導出私鑰是哪隻?
作者: DrTech (竹科管理處網軍研發人員)   2014-08-10 01:20:00
這是不懂還是為了讓初學者了解,而簡化太多觀念阿整篇文章完全忽略 Mutual Authentication,別人發的Public key ,完全不做身分驗證。用公鑰來判斷是否為冒牌貨的言論更是誤導。公鑰是公開的任何人都可取得。
作者: neversay (子不語)   2014-08-10 02:34:00
沒有數學關係這句話我拿掉重回好幾次......我比較想表達的是只有暴力法才能從公鑰推出私鑰(在理想情況上)回DrTech大: 我把與SSH server一開始的雙向認證略過,因為在做金鑰認證的設定之前雙向認證應該就做完了要不然也沒辦法登入遠端server放authorized_key如果要把最初的雙向認證加進來會複雜,所以簡化了至於用公鑰驗證冒牌貨,是基於兩種情形:1.給不符合的公鑰,系統會直接拒絕剩下的步驟,改用傳統的帳號密碼的方式,或者根本就拒絕連線2.公鑰Pa與主機上儲存的一致,主機就會用演算法E加密隨機字串S變成E(Pa, S)傳回給訪客,然後訪客必須用私鑰Pa'解密還原出S,接著用server的公鑰Pb也把S加密成E(Pb, S),傳回給server。讓server解密取回S這樣就證明了訪客:1.擁有與之前設定的一樣的公鑰2.該訪客擁有正確的私鑰,所以真的是公鑰的產生者。換句話說誰都能用公鑰Pa給server求取連線,但是只有真正的私鑰擁有者能夠解密server給的隨機字串
作者: ssccg (23)   2014-08-10 05:46:00
可是用公鑰基本上是由私鑰推出來的想要表達公鑰推私鑰很困難就直接這樣寫,何必扯什麼數學關係,成對的公私鑰本身就已經是數學關係了
作者: neversay (子不語)   2014-08-10 06:29:00
有道理,我把用詞改掉......
作者: DrTech (竹科管理處網軍研發人員)   2014-08-10 11:35:00
感謝你的回應,讓我更了解整個過程。
作者: neversay (子不語)   2014-08-10 11:55:00
不客氣 :P

Links booklink

Contact Us: admin [ a t ] ucptt.com