1. 程式人生 > >centos 7 ssh免密碼登入

centos 7 ssh免密碼登入

目的

在搭建Linux叢集服務的時候,主伺服器需要啟動從伺服器的服務,如果通過手動啟動,叢集內伺服器幾臺還好,要是像阿里1000臺的雲梯hadoop叢集的話,軌跡啟動一次叢集就得幾個工程師一兩天時間,是不是很恐怖。如果使用免密登入,主伺服器就能通過程式執行啟動腳步,自動幫我們將從伺服器的應用啟動。而這一切就是建立在ssh服務的免密碼登入之上的。所以要學習叢集部署,就必須瞭解linux的免密碼登入。

原理

     使用一種被稱為"公私鑰"認證的方式來進行ssh登入. "公私鑰"認證方式簡單的解釋是

首先在客戶端上建立一對公私鑰 (公鑰檔案:~/.ssh/id_rsa.pub; 私鑰檔案:~/.ssh/id_rsa)

然後把公鑰放到伺服器上(~/.ssh/authorized_keys), 自己保留好私鑰

當ssh登入時,ssh程式會發送私鑰去和伺服器上的公鑰做匹配.如果匹配成功就可以登入了

新手必讀

  1. 1)配置免登入前,請確保網路環境達到要求(後續內容有詳細說明)  
  2. 2)免登入其實是在本機生成兩把鎖,一把所謂的公鑰是放到要登入的那臺伺服器上的,其實是一串文字。  
  3. 3)被登入的伺服器上只會有一個公鑰檔案,叫authorized_keys。如果被登入的伺服器有多個客戶端要連上來,就會把每個文字金鑰存成一行。  
  4. 4)客戶端傳送到伺服器端的金鑰檔案一定要放到登入使用者主目錄的~/.ssh這個隱藏目錄下,  
  5. 比如用hadoop使用者登入到192.168.102.248伺服器,如果hadoop的主目錄是/home/hadoop,那麼,金鑰檔案一定是在/home/hadoop/.ssh/下  
  6. 5)如果直接將authorized_keys的檔案從客戶端通過scp或者ssh-copy-id方式傳送到伺服器端,會覆蓋原來的檔案,對其他使用者有影響,所以傳送時要進行改名後合併,

準備工作

1、修改/etc/hosts的伺服器ip對映(每臺伺服器都要做ip對映)

192.168.153.129 hadoop1
192.168.153.130 hadoop2
192.168.153.136 hadoop3

修改後,最好重啟下伺服器,然後伺服器名稱應該也會變成

[email protected]


2、生成rsa公私鑰

比如在hadoop1機器上生成公私鑰

注:必須在使用者目錄下的.ssh資料夾下生成公私金鑰

這裡都是用root使用者做ssh免密登入,所以對應路徑是/root/.ssh

cd /root/.ssh

執行以下命令後,如果提示,就一直按“Enter”鍵,直至生成公鑰

ssh-keygen -t rsa

執行完成後會生成兩個檔案id_rsa、id_rsa.pub

3、把公鑰複製到需要免密登入的伺服器hadoop2

id_rsa.pub檔案就是公鑰,執行命令複製到hadoop2

scp id_rsa.pub [email protected]:/root/.ssh/authorized_keys_from_hadoop1

hadoop2上/root/.ssh/authorized_keys_from_hadoop1檔案的內容就是id_rsa.pub的內容

4、把hadoop1的公鑰內容進行公鑰合併

1. 登入到要被登入的伺服器()進入./ssh目錄  
   cd root/.ssh  
2. 將客戶端傳送來的公鑰檔案進行合併  
   cat authorized_keys_from_hadoop1 >> authorized_keys  
   說明:如果authorized_keys不存在就會自動建立,如果存在就會追加 

5、驗證
 
 配置免登入完成後,在本機中輸入“ssh [email protected]” 或者 “ssh [email protected]” 。  
    * 如果無需輸入密碼,則表示配置免登入成功。  
    * 如果仍需要輸入密碼,則可能是.ssh目錄和檔案許可權需要修改。


相關推薦

centos 7 ssh密碼登入(補充1.6 SSH登入

參考(十分詳細):http://blog.csdn.net/newstruts/article/details/46424191 目的 在搭建Linux叢集服務的時候,主伺服器需要啟動從伺服器的服務,如果通過手動啟動,叢集內伺服器幾臺還好,要是像阿里1000臺

centos 7 ssh密碼登入

目的 在搭建Linux叢集服務的時候,主伺服器需要啟動從伺服器的服務,如果通過手動啟動,叢集內伺服器幾臺還好,要是像阿里1000臺的雲梯hadoop叢集的話,軌跡啟動一次叢集就得幾個工程師一兩天時間,是不是很恐怖。如果使用免密登入,主伺服器就能通過程式執行啟動腳步,自動幫

Centos 解決SSH 密碼登入 以及Crontab製作定時SSH自動登入和關閉的指令碼

一、SSH免密碼登入 假設要登入的機器為192.168.1.100,當前登入的機器為192.168.1.101。 首先在101的機器上生成金鑰(如果已經生成可以跳過): $ ssh-keygen -t rsa一路回車即可。 然後在將生成的公鑰複製到機器100上的~/.ssh/authorized_ke

解決:centos配置ssh密碼登入後仍要輸入密碼

轉自https://www.jb51.net/article/121180.htm   第一步:在本機中建立祕鑰 1、執行命令:ssh-keygen -t rsa  2、之後一路回車就行啦;會在~(home)目錄下中產生.ssh(隱藏)資料夾;

CentOS配置SSH密碼登入後,仍提示輸入密碼------[接-(準備完全分散式主機的 ssh)]

CentOS配置SSH免密碼登入後,仍提示輸入密碼------[接-(準備完全分散式主機的 ssh)] CentOS配置SSH無密碼登入需要3步: 生成公鑰和私鑰 匯入公鑰到認證檔案,更改許可權 測試 1.生成公鑰和私鑰 ssh-keygen -t dsa -P

centos配置ssh密碼登入後仍要輸入密碼的解決方法

前言在搭建Linux叢集服務的時候,主伺服器需要啟動從伺服器的服務,如果通過手動啟動,叢集內伺服器幾臺還好,要是像阿里1000臺的雲梯Hadoop叢集的話,軌跡啟動一次叢集就得幾個工程師一兩天時間,是不是很恐怖。如果使用免密登入,主伺服器就能通過程式執行啟動腳步,自動幫我們將

centos 7 系統下進行多伺服器的SSH密碼登入配置

學習ssh配置的目的就是為學習hadoop做鋪墊。因為在進行hadoop完全分散式的大資料處理,需要用到客戶端與各個伺服器之間進行面密碼登陸並配合來完成資料處理。 基於此,我就在網上搜索了幾篇文章,嘗試著去配置。“好事多磨”,從開始配置到我真正的配置成功,還是今天上午的事

CentOS 7 下不同主機間 ssh 密碼登入

因在CentOS 7 下為了配置 hadoop 叢集,需要建立不同的CentOS主機之間的信任。簡單說,就是從一臺CentOS主機通過 ssh 命令以使用者免密碼(我這裡用到的使用者名稱和密碼都是zhimin)登入到另一臺CentOS主機。其中 zhimin 是我在安裝三臺

CentOS ssh密碼登入

    在搭建Hadoop環境的時候,需要設定一下免密碼登入。     之前做過一次免密是成功的,最近又做了一次,居然不成功。。。很鬱悶,很納悶,     下面把我的操作步驟和經驗分享一下: 系

CentOS 配置叢集機器之間SSH密碼登入

特別提示:不能使用root使用者 SSH 為 Secure Shell 的縮寫,由 IETF 的網路小組(Network Working Group)所制定;SSH 為建立在應用層和傳輸層基礎上的安全協議。SSH 是目前較可靠,專為遠端登入會話和其他網路服務提供安全

大資料環境基礎之Centos安裝Haoop叢集(4)ssh密碼登入

ssh免密碼登入的配置需要在當前使用者下的根目錄下 用命令ssh-keygen -t rsa生成公鑰和祕鑰 用命令ls -a檢視.ssh檔案 進入.ssh資料夾裡面,用命令ls檢視公鑰和祕鑰 將公鑰儲存在authorized_keys檔案中 修改authorized

centos SSH密碼登入 使用公鑰

準備工作: 1、確認本機sshd的配置檔案(需要root許可權)   $ vi /etc/ssh/sshd_config      找到以下內容,並去掉註釋符”#“      RSAAuthentication yes

ssh密碼登入linux伺服器

1、環境:win10、win10裝有的git、linux伺服器 2、開啟git,檢視win10本機的公鑰 $ cat ~/.ssh/id_rsa.pub 3、開啟伺服器,建立.ssh目錄,進入 [[email protected] ~]# mkdir ~/.ssh/ [

SSH密碼登入配置.md

在客戶機生成私鑰和公鑰後,將公鑰放在服務機,後續客戶機通過ssh遠端登入服務機時,將不再提示輸入服務機登入密碼,即可實現免密碼登入。 這種“公鑰登入”方式,可用在伺服器間,也可以用在個人電腦(mac\windows\linux),從而實現免密碼遠端登入伺服器;

【轉】ssh密碼登入的原理

工作第一天,就需要登入各種伺服器,免密碼登入無疑能大大的提高工作效率。以前只知道配置,今天瞭解了下原理。 免密碼登入原理   圖解,server A免登入到server B: 1.在A上生成公鑰私鑰。 2.將公鑰拷貝給server B,要重新命名成authorized_keys(從英文名就

非對稱加密演算法:實現ssh密碼登入

**描述:利用非對稱加密演算法,實現兩臺主機之間可以免密碼直接登入 ,如下圖:** 整個實驗的原理如下圖: 具體步驟如下: 1、先準備好實驗需要的環境(兩臺虛擬機器–A:192.168.72.73,B:192.168.72.23),此時,我們遠端登入主機B,

SSH密碼登入設定

  兩臺Linux主機需要從其中一臺ssh至另外一臺需要手動輸入密碼,通過以下設定免密碼登入   生成祕鑰 ssh-keygen -t rsa   把祕鑰複製至需要免密登入的主機,第一次拷貝需要輸入一次密碼 ssh-copy-id -i ~/.ssh/id_rsa.pub [emai

Centos伺服器ssh登入以及搭建私有git伺服器

一、概述   伺服器的免密登入和git伺服器的搭建,關鍵都是要學會把自己用的機器的公鑰新增到伺服器上,讓伺服器“認識”你的電腦,從而不需要輸入密碼就可以遠端登入伺服器上的使用者   免密登入當然是登入root使用者,而搭建git伺服器需要在伺服器上建立一個git使用者。注意伺服器上每個使用者識別的公鑰存在不同

ssh 密碼登入

ssh免密碼登入的原理: serverA 免密碼登入到 serverB 機器A 向 機器B 進行免密碼登陸 step1:  在機器A中生成 私鑰和公鑰: ssh-keygen -t rsa 此時在 ~/.ssh/ 目錄下生成了公鑰(id_rsa.pub

Linux 安裝SSH 配置 SSH 密碼登入

Hadoop叢集、單節點模式都需要SSH登入  Ubuntu 預設安裝了 SSH client 還需手動安裝 SSH server 普通的ssh 登入localhsot shell 命令:   sudo apt-get install openssh-server