shell指令碼中經常會用到免密碼登入,要了解ssh則需要理解現代密碼學當中的非對稱金鑰及認證中心處理機制等基礎概念
首先說明一下處理機制:
1.非對稱金鑰就是一對金鑰-公鑰和私鑰。
2.私鑰由系統中沒個人自己持有,一般儲存在自己的電腦裡或u盤裡。
3.公鑰則在網路上傳遞,就是可以傳遞給通訊中的對方,也就意味這可以被黑客截獲。
4.用某個人的私鑰加密的資料只有用那個人的公鑰解密,同樣用公鑰加密的資料也只有用私鑰解密。
這樣我們在資訊處理中的應用一般的流程可以是這樣:
假設我們有兩個訊息方a和b
1.a要b發訊息,首先得到或者由b傳遞給a乙個b的公鑰。
2.然後a用b的公鑰加密訊息然後傳遞給b。
3.b用自己的私鑰解密訊息得到明文。
參考:
參考:
一、建立公鑰與私鑰
ssh-keygen -t rsa
authorized_keys:存放遠端免密登入的公鑰,主要通過這個檔案記錄多台機器的公鑰
id_rsa : 生成的私鑰檔案
id_rsa.pub : 生成的公鑰檔案
know_hosts : 已知的主機公鑰清單
二、把本地主機的公鑰複製到遠端主機的授權列表authorized_keys檔案上,並設定相應許可權。方法一:
ssh-copy-id -i ~/.ssh/id_rsa.pub user@server
ssh
-copy-id
命令可以把本地主機的公鑰複製到遠端主機的authorized_keys檔案上,ssh-copy-id命令也會給遠端主機的使用者主目錄(home)和~/.ssh
, 和~/.ssh/authorized_keys
設定合適的許可權。
方法二:
拷貝本地主機的公鑰到遠端主機: scp id_rsa.pub
將本地主機的公鑰加到遠端主機的授權列表 .ssh/authorized_keys 若不存在,手動建立: cat id_rsa.pub >> authorized_keys
.ssh目錄的許可權必須是700 ,chmod 700 .ssh
授權列表authorized_keys的許可權必須是600,chmod 600 authorized_keys
ssh 免密碼登入 金鑰登入
原文 ssh 免密碼登入 此方法配合ssh 別名登入可以快速登入伺服器 此方法配合ssh tab 自動補全主機名 別名可以快速登入伺服器 ssh 無密碼登入要使用公鑰與私鑰。linux下可以用用ssh keygen生成公鑰 私鑰對,下面我以centos為例。有機器a 192.168.1.155 b ...
Linux下使用金鑰免密碼登入
一 前言 在日常使用linux過程中,我們希望不用每次登入linux伺服器都要輸入密碼,那麼這個時候可以選擇ssh金鑰登入,就是rsa公鑰放到伺服器上,私鑰放在客戶端上,每次登入的時候,用金鑰登入 這樣更方便也更安全。二 步驟 1 首先準備兩台伺服器,一台用作客戶端 zn 一台用作服務端 tos 1...
Linux 免密碼登入和原理
仔細觀察,計算機的很多的設計都和我們的生活息息相關,比如,今天說到的免密登入。場景 有個房間,我們不希望別人進去,但是自己能進去,需要兩個條,第乙個是不是要認證是不是房子的主人,第乙個,給這個房子加一把鎖。看上圖,servera相當於房子主人,serverb相當於房子。servera想要登入serv...