1. 程式人生 > >ssh配置無密碼登錄,免密鑰登錄

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

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 進行測試。


本文出自 “愛生活的小白” 博客,請務必保留此出處http://sf1314.blog.51cto.com/13295031/1981297

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