一、ssh和scp關係
scp,secure copy的簡稱,是用來與遠程主機之間進行數據傳輸的協議,相當於經過加密的copy命令。scp數據傳輸使用ssh協議,並且和ssh使用相同的認證方式,提供相同的安全保證。
二、免密登錄原理分析
這裏免密登錄指的是公鑰登錄,原理:用戶將自己的公鑰存放於遠程主機上。登錄時,遠程主機會向用戶發送一段隨機字符串,用戶用自己的私鑰加密後,再發回來。遠程主機用事先存儲的公鑰進行解密,若成功,就證明用戶是可信的,直接允許登錄shell,不再要求密碼。
三、密碼登錄設置
場景:實現機器A免密遠程登錄和免密數據傳輸到機器B
1、在機器A中生成祕鑰文件,包括公鑰和私鑰。生成祕鑰中不使用密碼,命令:ssh-keygen -t rsa -P ''。命令執行完成後,在/root/.ssh目錄下生成一對祕鑰id_rsa(私鑰)和id_rsa.pub(公鑰)。
2、拷貝A記錄的公鑰即id_rsa.pub文件到機器B/root/.ssh目錄下,並將祕鑰內容寫入authorized_keys文件,命令:cat id_rsa.pub>>authorized_keys
3、執行ssh或者scp命令,即可實現機器A到機器B的免密。
4、注意事項:
(1)若多臺機器需要實現對機器B的免密操作,而公鑰名稱都相同,怎麼破?重命名公鑰文件時,需注意先執行步驟1生成默認名稱文件的私鑰文件,然後再拷貝重命名公鑰文件上傳到機器B纔行。這裏不知是否有更好方法?
(2)據說authorized_keys文件權限必須是600
參考鏈接:https://blog.51cto.com/rescue/2136561?utm_source=oschina-app