Linux集羣 SSH免密登錄

學習hadoop的時候啓動hadoop集羣需要免密登錄,手動臺蛋疼了,

所以總結了下,root用戶免密和普通用戶免密兩種方法.

root用戶

我有如下三臺Linux機器

    192.168.13.102 centos102

    192.168.13.103 centos103

    192.168.13.105 centos105

1.修改hosts文件vi /etc/hosts如下:

    192.168.13.102 centos102

    192.168.13.103 centos103

    192.168.13.105 centos105

2.在/root(即~)下看有沒有.ssh文件夾,ls -a查看,如果沒有則創建mkdir .ssh

3.進入.ssh文件夾,cd /root/.ssh

4.執行ssh-keygen -t rsa,三次回車

5.執行cat id_rsa.pub >> authorized_keys

6.其他兩臺機器103 105都執行1~4步驟,

7.centos103,centos105分別執行ssh-copy-id -i centos102 這行命令的意思是登錄centos102將公鑰拷貝到centos102中的authorized_keys中

8.回到centos102,執行more /root/.ssh/authorized_keys能看到如下則成功

9.修改authorized_keys權限爲600 chmod 600 authorized_keys

10.將授權文件分別拷貝到centos103,centos105

    scp /root/.ssh/authorized_keys centos103:/root/.ssh/

    scp /root/.ssh/authorized_keys centos105:/root/.ssh/

11.ssh centos103去免密登錄試試吧,exit退出.

非root用戶

1.vi /etc/ssh/sshd_config確保如下兩項是放開的(即去掉前面的#)

    AuthorizedKeysFile   .ssh/authorized_keys

    PubkeyAuthentication yes

2.修改hosts文件vi /etc/hosts如下:

    192.168.13.102 centos102

    192.168.13.103 centos103

    192.168.13.105 centos105

3.cd ~,看有沒有.ssh文件夾,ls -a查看,如果沒有則創建mkdir .ssh

4.進入.ssh文件夾,~/.ssh

5.執行ssh-keygen -t rsa,三次回車

6.執行cat id_rsa.pub >> authorized_keys

7.centos103,centos105分別執行1~5步驟

8.centos103執行

    scp ~/.ssh/id_rsa.pub hadoop@centos102:~/.ssh/centos103.id_rsa.pub

    期間會要求輸入centos102的hadoop賬號的密碼,輸入後傳輸完成,在node0的/home/hadoop/.ssh目錄下,多了個名爲            centos103.id_rsa.pub的文件;

9.centos105執行

    scp ~/.ssh/id_rsa.pub hadoop@centos102:~/.ssh/centos105.id_rsa.pub

10.centos103,centos105分別把centosxxx.id_rsa.pub文件加到authorized_keys中 cat centosxxx.id_rsa.pub >> authorized_keys

11.在102上將authorized_keys分發到其他機器

    scp ~/.ssh/authorized_keys hadoop@centos103:~/.ssh/

    scp ~/.ssh/authorized_keys hadoop@centos103:~/.ssh/

12.三臺機器都執行文件授權

    chmod 700 ~/.ssh

    chmod 600 ~/.ssh/authorized_keys

13.ssh centos103去免密登錄試試吧,exit退出.

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