ssh配置無密碼登錄,免密鑰登錄

前提,機器A,B,均爲RedHat Linux操作系統,均有用戶user

1、以用戶名user登錄,在A機器上執行

ssh-keygen -t rsa

一路回車,不需要輸入密碼

執行該操作將在/home/user/.ssh下生成id_rsa, id_rsa.pub文件,其中id_rsa.pub是公鑰。

2、在B機器上做步驟1或自行創建/home/user/.ssh文件夾,注意文件夾權限設置爲700,將id_rsa.pub拷貝到B機器上

scp id_rsa.pub B:~/.ssh/A.id_rsa.pub

3、將拷貝到B機器上的A.id_rsa.pub複製到authorized_keys文件中

cp  A.id_rsa.pub authorized_keys 

cat A.id_rsa.pub > authorized_keys

若有多個主機要訪問,使用>>添加到authorized_keys文件中


最精彩部分:

A將公鑰發給B,不是說讓B來訪問A,而是A就可以訪問B了。太霸道了!也就是說B不能在.ssh文件夾下的authorized_keys保留A的公鑰,如保存就是把自己讓給別人來訪問!

如果這個理解反了,那就會總是不成功!


參考:


  • hadoop安裝配置之ssh無密碼登陸

     

    os:redhat 6

     

    hadoop 兩個節點,一個master 一個slave

     

    192.168.0.1  master

     

    192.168.0.2. slave

     

    1.修改每臺機器的/etc/hosts,增加

     

    192.168.0.1  master

     

    192.168.0.2. slave

     

    2.在每臺機器上創建用戶hadoop

     

    useradd hadoop

     

    passwd hadoop

     

    給hadoop用戶添加權限,打開/etc/sudoers文件:

     

    在root ALL=(ALL)       ALL         

    後面添加hadoop ALL=(ALL)       ALL     

     

    後面都以hadoop用戶來操作

     

    3.在所有機器的/home/hadoop/目錄下建立 .ssh文件夾

     

    mkdir /home/hadoop

     

    4.在master機器上生成密鑰對

     

    ssh-keygen -t rsa (注意:ssh與-keygen之間沒有空格)    

    一路回車即可。

     

    轉到.ssh目錄 cd ~/.ssh 可以看到生成了id_rsa,和id_rsa.pub兩個文件

     

    5.執行 cp id_rsa.pub authorized_keys

     

    6.把Master上面的authorized_keys文件複製到Slave機器的/home/hadoop/.ssh/文件下面

     

    scp authorized_keys slave:~/.ssh

     

    7.修改修改.ssh目錄的權限以及authorized_keys 的權限(這個必須修改,要不然還是需要密碼)

     

    sudo chmod 644 ~/.ssh/authorized_keys

     

    sudo chmod 700 ~/.ssh

     

    正常情況下,到這個地方就可以SSH無密碼登錄了

     

    輸入ssh slave 進行測試。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章