1. 我電腦上有兩台虛擬機器:centos64和centos_hadoop,我要實現從centos64免登陸到centos_hadoop上:
2. 大體含義是,a如果想要免登陸到b,必須把自己的公鑰放到b中某個位置,這樣當a登入到b時,b就會拿已經傳過來的加密了的公鑰,和a登入時傳過來的私鑰通過某種方式比較如果匹配就會讓a免登陸進來,b如果想免登陸到a上,同理
a->b許可權認證分為兩部分:
<1> 通過使用者名稱和密碼登陸
<2> 金鑰認證
ssh 是a->b通過金鑰方式登入到b 由此可不輸入使用者名稱密碼即可進入到b
首先在a機器上生成金鑰和公鑰:在a機器上輸入命令:ssh-keygen -t rsa 這個命令用來生成私鑰和公鑰 rsa是一種加密方式
進入cd /root/.ssh 中如下顯示:
解釋:id_rsa 是a伺服器生產的私鑰,id_rsa.pub是a伺服器生產的公鑰
這樣我們要把,a的公鑰放到b的/root/.ssh目錄下並且重新命名為authorized_keys
注意authorized_keys 可以有多個公鑰,這樣就可以實現多個伺服器免登陸進來
為避免覆蓋我們最好是把內容追加進去
把a的公鑰複製到b的/root/.ssh命令為:scp /root/.ssh/id_rsa.pub 192.168.135.100:/root/.ssh
scp 為遠端copy
然後登陸到:ssh 192.168.135.100伺服器上 檢視是否已經複製過來
進入到b的對應目錄/root/.ssh 把copy過來的id_rsa.pub 追加到authorized_keys中即可
首先要生產這個檔案:touch authorized_keys
追加命令:cat id_rsa.pub >> authorized_keys
驗證是否追加成功:more authorized_keys 看到一大串就表示追加成功了
然後我們退回到a伺服器上,試圖從a直接登入到b上:奇蹟出現了不用輸入密碼了 b免登陸到a就是把上面操作再做一次,如發現還登陸不了堅持b伺服器上,.ssh 許可權和 authorized_keys 的許可權,然後授權 chmod 600 authorized_keys 就差不多了,如還行,那就是人品了(再收用ssh-copy-id/root/.ssh/id_rsa.pub 192.168.135.100:/root/.ssh/ 試試)
哈哈哈哈哈哈如下圖:
重點:我在我機器上搭建的時haoop 偽分布 只有一台機器,然而hadoop 登陸方式為:sshhost 命令 ,所以即使只有一台機器,偽分布中還是要登陸一下自己,所以我們要想讓登陸自己也免登陸,這時候我們只要在本機器上的/root/.ssh/中把id_rsa.pub >>authorized_keys中
hadoop搭建環境實現ssh免登陸
在完成分布式系統之後 hadoop搭建偽分布式 配置ssh免登陸金鑰,因為hadoop的底層就是ssh,每次啟動都需要進行輸入密碼 1 生成ssh免登陸金鑰 ssh keygen t rsa執行完之後,產生兩個檔案id rsa 私鑰 id rsa.pub 公鑰 將公鑰拷貝到要免登陸的機器上 cat ...
ssh免賬號登陸
1 在當前使用者目錄下建立.ssh目錄,生成key mkdir ssh ssh keygen t dsa p f ssh id dsa 2 儲存認證鍵值到authorized keys檔案 cat ssh id dsa.pub ssh authorized keys 3 改變.ssh下檔案屬性,以及...
SSh 免密碼登陸
有機器a 192.168.1.155 b 192.168.1.181 現想 a通過ssh免密碼登入到b。操作步驟 進入主機a的 cmd介面 1 產生金鑰,命令如下 ssh keygen t rsa p 截圖如下 在輸入上面的命令後,它會在 users chenlb 下生產.ssh 目錄,ssh 下有...