百度一下,ssh linux 關鍵字,就有不少基本設置了,可是在centos6.5及以上版本除了正常步驟設置後還有一個配置須要更改,否則ssh登陸時仍是要密碼驗證。下面簡要記錄一下操做步驟:linux
CentOS 6.5配置SSH免密碼登陸web
建立新用戶:useradd Hadoop
設置密碼:passwd hadoop,輸入本身想要的密碼便可,以後su hadoop切換用戶
修改主機名:vim /etc/sysconfig/network,加入hostname master,註銷系統以後便可看到修改爲功
修改hosts文件:vim /etc/hosts 192.168.56.101 master 192.168.56.102 slave1
ssh免登陸,查看ssh:
[hadoop@master ~]$ rpm -qa|grep ssh
openssh-server-5.3p1-94.el6.x86_64
libssh2-1.4.2-1.el6.x86_64
openssh-clients-5.3p1-94.el6.x86_64
openssh-5.3p1-94.el6.x86_64
openssh-askpass-5.3p1-94.el6.x86_64
發現我已經都安裝了,若是有沒安裝的,那麼使用yum install ssh(缺乏的便可)
修改/etc/ssh/sshd_config RSAAuthentication yesPubkeyAuthentication yesAuthorizedKeysFile .ssh/authorized_keys
啓用這三行,而後重啓service sshd restart
如今開始配置無密碼登陸 [hadoop@master ~]$ cd /home/hadoop/
[hadoop@master ~]$ ssh-keygen -t rsa一路回車[hadoop@master ~]$ cd .ssh/
[hadoop@master .ssh]$ cp id_rsa.pub authorized_keys
[hadoop@master .ssh]$ chmod 600 authorized_keys
把authorized_keys複製到其餘要無密的機器上[hadoop@master ~]$ scp authorized_keys root@192.168.56.102:/home/hadoop/.ssh要以root權限過去,不然會出錯vim
設置.ssh目錄權限 chmod 700 -R .ssh
若是你想要每臺機子都無密碼登陸,那麼把每臺機子產生的密鑰添加到文件中(這是在受控端機子上面執行的)
cat id_rsa.pub >> .ssh/authorized_keys
centos
如今能夠從master免登陸到slave1,那麼若是想從slave1免登陸到master,也須要在slave1上執行 scp authorized_keys root@192.168.56.101:/home/hadoop/.ssh/將文件拷貝到master以後,在master上面執行:cat id_rsa.pub >> .ssh/authorized_keys
這樣既能夠從master到slave1,也能夠從slave1到master,均是免密碼登陸網絡
好比我配置成功以後的界面以下: [hadoop@master ~]$ clear
[hadoop@master ~]$ ssh slave1
Last login: Mon Nov 3 13:33:02 2014 from 192.168.56.101
[hadoop@slave1 ~]$ ssh master
Last login: Mon Nov 3 13:33:06 2014 from 192.168.56.102
[hadoop@master ~]$ ssh
若是遇到登陸失敗的狀況:我用的是centos版本是6.5,centos6.5對網絡管理至關嚴格,須要在原來的基礎上關閉selinux, 到/etc/selinux/config下,把SELINUX=enforcing修改成SELINUX=disabled,重啓機器,ok。oop