相信運維的對ssh免密登陸應該是對這個再清楚不過的吧,由於我們大資料對於安全這方便管控的很嚴格,單獨找一台物理機作為跳板機,其他的機器都必須要從這個跳板機免密登陸,由於機器比較的多,其中dn30這個網域名稱ssh無法登陸,但是對應的ip位址是可以正常ssh免密登陸的,如圖1所示:
【圖1】
我檢查了一下目標端dn30的authorized_keys內容,cm跳板的hadoop的公鑰已經給了dn30,這一點沒毛病呀,再檢查ssh目錄以及下面的檔案許可權也沒問題呀(如圖2所示),究竟什麼情況能導致這個問題呢?
【圖2】
最後檢視了dn30的known_hosts的內容,發現裡面記錄的竟然是search03的ssh連線秘鑰對,而search03的known_hosts記錄的卻是dn30的ssh連線秘鑰對;兩台機器與本地的網域名稱不一致,為什麼會這樣呢?這才記起來,原來這兩台機器裝完之後,已經做了ssh網域名稱免密登陸,現在的這個dn30機器應該是search03,而search03應該是dn30,因為dn30硬碟故障,是後面恢復的,所以網域名稱解析互換了,但是秘鑰對還儲存在know_hosts裡面,知道了原因,這就好辦了,我們直接登陸到兩台機器上直接rm -rf /home/hadoop/.ssh/known_hosts或者》/home/hadoop/.ssh/known_hosts清空。
隨後我們在嘗試ssh dn30,還是不行,難道這不是根本原因嗎?目標端的不是已經清空了knows_hosts對應的ssh連線資訊嗎?
其實細心的同學們會發現,源端還是有個knows_hosts,這裡面才是真正記錄ssh免密遠端主機的秘鑰認證資訊(如圖3所示),我們只有清理源端的knows_hosts的資訊才能真正的解決問題
注意,這裡千萬別不要rm -rf knows_host或者》knows_hosts,這樣的話裡面記錄所有的機器都需要重新認證,雖然問題不是很大,但是這樣線上某些嚴格依賴ssh網域名稱免密的程式就會收到影響(我就這樣背一次鍋,血的教訓,不但要重新認證,還要被訓一下,哎!如圖4所示)
【圖3】
【圖4】
最後我們在嘗試ssh dn30免密成功~
【小結】
一台主機上有多個linux系統,會經常切換,那麼這些系統使用同一ip,登入過一次後就會把ssh資訊記錄在本地的~/.ssh/known_hsots檔案中,切換該系統後再用ssh訪問這台主機就會出現衝突警告,需要手動刪除修改known_hsots裡面的內容
ssh會把你每個你訪問過計算機的公鑰(public key)都記錄在~/.ssh/known_hosts。當下次訪問相同計算機時,openssh會核對公鑰。如果公鑰不同,openssh會發出警告, 避免你受到dns hijack之類的攻擊。
雖然是小技術點,但以小見大,很多細節性的問題還是得多注意,稍微不注意,線上操作需謹慎,切勿衝動!
大資料入門之 ssh 免密碼登入
目錄 1 ssh keygen生成公鑰和私鑰 2 檢視生成的公鑰和私鑰 3 將公鑰發到其他主機上 4 給 ssh和authorized keys賦予許可權 5 ssh 遠端連線到各個節點 6 配置錯誤如何重新配置 ssh keygencd root ssh直接三次回車,linux會生成兩個金鑰 公鑰...
會話資料跟蹤
瀏覽器開啟到關閉期間本地和任何伺服器建立過的連線都可以稱為乙個會話 cookie按網域名稱記憶,新增機器只要不換網域名稱即可把同網域名稱的之前的機器建立傳送到本地的cookie從本地帶過去新機器 cookie cookies request.getcookies logger.info 獲取到的co...
大資料 什麼是大資料
1.什麼是資料 資料是事實或觀察的結果,是對客觀事物的邏輯歸納,是用於表示客觀事物的未加工的原始材料。資料經過加工之後就成為資訊。2.大資料的定義 麥肯錫給出的大資料定義是 大資料是指大小超過常規的資料庫工具獲取 儲存 管理和分析能力的資料集。但它同時強調,並不是說一定要超過特定的tb值的資料才能是...