想請教:
如果(電腦A)透過SSH 備份/連入 到 (電腦B), 應該是(電腦A)還是(電腦B)產生公開金鑰給對方?
之後是否將以下格式之金鑰 直接貼上到對方的authorized_keys檔案之中:
ssh-rsa 4bxxxxxxxxxxxxxxxxxxxxxxeWY user@abcdefg.com
謝謝~~
先分清楚:
授權者是誰? 授權者只須持有被授權者給予的公鑰
被授權者是誰? 他必須持有對應私鑰, 並負責產出公鑰
若 A 授權 B 可以進入, 那 B 要用他的私鑰, 產出一把公鑰, 塞進 A 裡面. B 則要顧好她對應的那把私鑰, 不可外流.
當 B 想要登入 A 的時候, A 會拿公鑰出來, 將一個隨機的 256 字元加密, 將結果傳送給 B, 挑戰看看 B 能否解密?
由於只有 B 擁有正確對應的解密私鑰, 所以 B 拿私鑰解密出來的結果, 送回去給 A, A 核對結果, 若跟當初產生的隨機字元相符, 就認定解密成功, 允許 B 登入.
如果 A 把加密結果送給 C, 由於 C 沒有對應的私鑰, 他拿任何一把私鑰去解, 結果都不會跟 A 的字元相同, 於是無法通過驗證.
以上是原理.....回到您的問題: (電腦A)透過SSH到(電腦B)
此時應該是: 「B 授權 A 可以進入」, 也就是...
B = 授權者 - 授權者只須持有被授權者給予的公鑰
A = 被授權者 - 他必須持有對應私鑰, 並負責產出公鑰
所以公私鑰都由 A 產出, 將私鑰留在 A 電腦中, 公鑰則塞進 B 電腦的 know_hosts 裡面去...
感謝,很清楚詳細~
可否簡單介紹以下fingerprint , randomart image有何作用, 是保密不應公開的?
The key fingerprint is:
SHA256:Up6KjbnEV4Hgfo75YM393QdQsK3Z0aTNBz0DoirrW+c ylo@xxx
The key's randomart image is:
+---[RSA 2048]----+
| . ..oo..|
| . . . . .o.X.|
| . . o. ..+ B|
| . o.o .+ ..|
| ..o.S o.. |
| . %o= . |
| @.B... . |
| o.=. o. . . .|
| .oo E. . .. |
+----[SHA256]-----+
都是人看的東西,都可以公開....話說Google一下就有了
每個人都要產生 自己的 公鑰跟私鑰,在要通訊時會互相交換自己的公鑰
你在做的這件事 也是手動把 A電腦的公鑰放在B電腦中
另外 你問的 fingerprint , randomart image 功用,把這兩個關鍵字丟google 就有一海票的說明 fingerprint 是給電腦看的, randomart image是給人看的沒有實際用處