在配置hadoop相關環境的時候,需要打通乙個免密登入通道。順便就把windows主機也打通了,這樣在用bash 連線虛擬機器時就不用輸入密碼了。並且scp,sftp也就無需再次輸入密碼了,當然這也增加了風險。
本機的免密登入:
ssh-keygen
通過這個命令可以生成公鑰私鑰對。
私鑰檔案 id_rsa 和 公鑰檔案id_rsa.pub。
進入秘鑰資料夾:
檢視是否有`authorized_keys`這個檔案,這個檔案是用來儲存免密的公鑰。沒有就直接建立乙個,並將許可權改為 600。然後將公鑰檔案追加到該檔案即可。.ssh目錄需要至少是700許可權。
值得注意的是,目標機器家目錄的許可權有限制,除了使用者,組和其他都不能有寫許可權,也就是許可權最高是 drwx r-x r-x
免密配置結束,然後進行測試:
兩台主機之間的免密登入:
ssh-keygen
在兩台主機上各自執行生成秘鑰操作。
比如a、b兩台主機,a、b分別生成秘鑰後,如果是想打通a登入b時的免密登入,則將a的公鑰追加到b的authorized_keys檔案中,反之亦然。與上面本機的操作相同。
上述打通了linux主機之間的免密登入,其實從windows也可以打通到linux的免密登入。
比如我平時登入虛擬機器用的是git bash,git bash可以看做是乙個微型的linux系統,ssh協議都是支援的。
所以可以開啟本地git bash,然後利用 ssh-keygen命令生成windows本機的秘鑰檔案。然後將其追加到linux機器的authorized_keys檔案中:
秘鑰檔案同樣是在家目錄下的.ss**件夾中,這是個隱藏資料夾。傳送到指定機器上。
在要打通免密的機器上將這個公鑰檔案內容追加到authorized_keys檔案中即可。
測試:
SSH免密登入
a為本地主機 b為遠端主機 生成公鑰私鑰對 ssh keygen t rsa登入遠端機器 ssh root 然後輸入密碼 將.ssh的許可權設為700 mkdir ssh 如果資料夾已存在,跳過 chmod 700 ssh將本地生成的rsa公鑰複製到遠端機器 scp ssh id rsa.pub r...
SSH免密登入
當我們在配置多台計算,使之可以相互使用無密碼登入 ssh,之前都是一台一台的配置,現在一台a上新增b,然後在另一台b上再次新增a,這樣使得authorized keys中的內容相同,但時並不是完全相同,比如新增順序。如果超過2臺,這種配置就相當複雜了,而且容易出錯。後來,在網上看到了一種簡單的配置,...
SSH免密登入
前提 本地和遠端伺服器都已經安裝了ssh 遠端伺服器ip 192.168.1.145 遠端登入使用者 admin 本地命令 1 ssh keygen t rsa p 一路回車 2 scp ssh id rsa.pub admin 192.168.1.145 home admin ssh 3 按提示輸...