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配置無密碼登錄,免密鑰登錄