Linux免密登入原理及配置方法
- 原理
-
- 非對稱加密算法
- 配置步驟
原理
非對稱加密算法
思前想後還是覺得自己再怎麼寫也沒阮一峰老師寫的好,這裡放上連結
配置步驟
配置A主機到B主機的免密登入,根據上述非對稱加密原理,要使A可以免密登入至B,那麼就需要把A主機的公鑰放置于B主機上。
在登入時,A主機用自己的私鑰加密登入資訊,B主機用自己所儲存的A的公鑰解鎖成功後即認為是合法的登入
是以,配置隻需要兩大步驟:
- 生成A主機的公私鑰
- 将A主機的公鑰放在B主機上
首先,生成A主機的公私鑰:(以下操作均在A主機上)
連續按3次空格使用預設設定,此時會将A主機的公私鑰生成在
~/.ssh
這個路徑下,這個路徑下會有兩個檔案
id_rsa id_rsa.pub
其中
id_rsa
儲存的是A主機的私鑰,
is_rsa.pub
儲存的是公鑰
到這裡,第一大步就算完成了
接下來,将A主機的公鑰放在B主機上。當然,肯定不是随便放在一個地方就可以的。(接下來的操作都在B機器上執行)
注意這裡的root使用者,你将A主機的公鑰儲存在B主機的哪個使用者主目錄下,那麼就隻能以這個使用者的身份免密登入,此例配置在了root使用者的主目錄下,實際情況中根據自己的需求選擇使用者
想辦法把A主機的公鑰儲存在/root/.ssh/authorized_keys這個檔案裡,比如用文本編輯器打開,然後手動把公鑰複制過來,一段公鑰長這樣
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArdBxCkbZReARKoa0qCSCL0RkNOyNv8H2aPxfOkPN2gMv9F0G/6RxzXSV0BkgqcP6Qk59tuDd1Qzbk8fxPA5EC0ttgQ+HaSNiS2a3RTmgGjHlHq06Cuo7EZPf5lhMjkfe6/c+9n6ITzBn4xrSxrKJsH248bvoXqo8sCa4YPHyUOR7OXH2DwdPoTcbhKN/lUxyYk8tUXAIykjXSlb0mKb9IVjdIgvDl/BsSqDrjfM15lqOcORaKJP5zTPOw7K+eWpERaMHc8KGl85jQutATIT6BUUCKKj66IAP9aDdvL1ahULFDETpQSTreGaZQCGQ+i0A4fV9mrJXI7N3twCr7pXoQw== [email protected]
接下來最後一步操作,将
authorized_keys
這個檔案權限改成600,由于這個檔案安全等級很高,如果權限不正确,是無法免密登入的
chmod 600 ~/.ssh/authorized_keys
搞定,這樣就配置好了A主機到B主機的免密登入了,但是此時B主機是無法免密登入A主機的,要想互相免密登入的話,反過來再配置一遍就OK了~
ssh [email protected]