usera:192.168.0.1
userb:192.168.0.2
<1>檢視是否安裝了ssh
一般情況下,系統都自帶有ssh,檢視ssh是否安裝命令:ssh -version,
<2>在客戶端節點建立金鑰檔案
檢視客戶端節點是否已經建立了金鑰檔案,我們一usera為例。開啟命令列,輸入以下
指令: ls ~/.ssh,檢視是否有金鑰存在。
發現沒有金鑰檔案,也就是沒有公鑰(id_rsa.pub)和私鑰(id_rsa)在usera上面建立金鑰,開啟命令列,輸入以下指令:ssh-keygen -t rsa,注意,這個命令列ssh 和 -keygen中間沒有空格,如果寫成ssh -keygen -t rsa,會報錯誤:
輸入完ssh-keygen - rsa後,一直預設enter下去,密碼為空就行。如下圖所示,說明生成金鑰成功
然後,繼續在命令列下輸入ls ~/.ssh,檢視是否多了兩個檔案(id_rsa.pub和id_rsa)
好,到這裡,客戶端節點的金鑰檔案已經建立完成,按照上述方法,依舊在userb節點上一次建立金鑰檔案。
5.將各客戶端節點的公鑰寫入centosnamenode中
<1>將usera自己的公鑰寫入到自己的~/.ssh/authorized_keys中
開啟命令列,輸入
cd ~/.ssh #切換目錄到~/.ssh下在命令列下輸入vi ~/.ssh/authorized_keys,發現公鑰已經寫入了ls #再次確認是否有金鑰
cat id_rsa.pub >> authorized_keys #將公鑰寫入
ok,然後,就是修改sshd以及上面所提到的authorized_keys以及目錄~/.ssh許可權的修改
chmod 700 ~/.ssh<3>驗證自己ssh自己chmod
600 ~/.ssh/authorized_keyschmod 700 ~/.ssh
chmod
600 ~/.ssh/authorized_keys
開啟命令列,輸入:
ssh 192.168.0.1 #usera的ip
發現並沒有要求輸入密碼,而是自動登陸了,說明自己的配置成功了,事實上hadoop的偽分布式模式就是自己遠端登陸自己
<4>將其他兩個節點的公鑰加進來
登入到userb,進入到命令列,輸入:
cd ~/.ssh #進入到ssh目錄下面然後,登入到usera上,檢視是否收到,輸入指令:ls #檢測目錄下面是否有密匙
scp id_rsa.pub usera@
192.168.0.1:/home/roboson #將檔案傳遞到ip位址為
#192.168.0.1
(usera)
#/home/roboson目錄下
cd /home/roboson #切換目錄然後,將公鑰寫入到centosnamenode的~/.ssh/authorized_keys檔案中,開啟命令 行,輸入指令:ls #檢視目錄下的檔案
cat /home/roboson/id_rsa.pub >>~/.ssh/authorized_keys然後,輸入vi ~/.ssh/authorized_keys指令,發現檔案中又多了一堆數字
接下來,重啟sshd(上面有),登入到usera,然後,在usera中,用ssh遠端登陸到usera中,看是否需要密碼驗證
有的時候,會報這樣的錯
agent admitted failure to sign using the key
解決方法:
在當前使用者下執行命令:
ssh-add
然後,利用同樣的方法,將userb的公鑰也加入。
Linux免密SSH登入
ssh工作機制 ssh免密碼登入 一.ssh工作機制 ssh為secure shell 安全外殼協議 的縮寫。很多ftp pop和telnet在本質上都是不安全的。我們使用的xshell6就是基於ssh的客戶端實現。ssh的服務端實現為openssh deamon。在linux上使用ssh ssh ...
linux新增ssh公鑰免密登入
比如我的電腦是my,我想免密碼登入remote 在my的機器生成乙個rsa公鑰 在remote的 ssh authorized keys檔案中新增my的rsa公鑰 在my上使用ssh登入remote,測試是否新增成功 在本機上生成rsa金鑰對 ssh keygen t rsa一路回車後就會在 ssh...
SSH免密登入
a為本地主機 b為遠端主機 生成公鑰私鑰對 ssh keygen t rsa登入遠端機器 ssh root 然後輸入密碼 將.ssh的許可權設為700 mkdir ssh 如果資料夾已存在,跳過 chmod 700 ssh將本地生成的rsa公鑰複製到遠端機器 scp ssh id rsa.pub r...