CentOS 配置集群機器之間SSH免密碼登錄


SSH 為 Secure Shell 的縮寫,由 IETF 的網絡小組(Network Working Group)所制定;SSH 為建立在應用層和傳輸層基礎上的安全協議。SSH 是目前較可靠,專為遠程登錄會話和其他網絡服務提供安全性的協議。

在Hadoop集群或其他集群中廣泛應用用,可用於機器之間免密碼登錄和執行腳本,如的Hadoop集群中NameNode啟動的時候會遠程執行腳本把集群中DataNode的也一起啟動起來。

這里主要介紹SSH的配置和登錄失敗的情況

SSH配置

集群中的每台主機上打開配置

sudo vim /etc/ssh/sshd_config

開啟下面的選項

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

 

生成SSH密鑰

集群中的每台主機上執行下面命令,一路回車,可生成本機的rsa類型的密鑰。

ssh-keygen -t rsa

執行完之后在~/.ssh/目錄下會生成一個保存有公鑰的文件:id_rsa.pub

 

把公鑰寫入authorized_keys文件

把自己的公鑰拷貝到集群中的Master機

ssh-copy-id hadoop@HadoopMaster

最終在Master機上生成如下的內容的~/.ssh/authorized_keys文件:

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArYU2kMXsu75Gzwvuby7OoGzC7GVwxVo+ol/7nJVD    BpKpJLRHRe/d2HSNe9ZZRWLK2tU0e41baMxrYRoAKJA2ujcWfy7t57c3ArO9hA7KJy7MqMiT8WHQ    M3I2Afsx6sVKeQU/czDLXHn+KjwKbR8z0tuycgtxgkaWx1PCpCKeFDAXDVvxYcurSUNaIGL5Egzu    Iy97N52ld/WxUZnRRsTPdpW88JkhWdOV1Bdo4O67rNv5tSYKHXfPwqi8NekqoHIExgVRsHLvM8fe    xvV4mo8lXYdQPRCyrtM9/V+4kSW8eaBO7w6hM9YVZIspSqx0+OqibWTvqSmiAVh0JmUT0MCeVQ==     hadoop@HadoopMaster
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA7n27x4qSzRQNGQAL+rT1+91IQnM9cwZYFeSUzrJD    GDfwCTJMKnRBYxrDMxTAM6MKjfwwkPzXnbKHLQnDiJKUSdF8H2xcgDMBJLssVQjOc2jSEg/VppQN    hJwObbIL3k1FbU2KxkOp7yW5PIodZrgUwlH5wdXtfsPKimvv72uA1KUiqPbYA3ZJqXw9Bt87K6Sv    IAkvUjshnfaS+wNEBVwW1dhXyz6DHuY+Tn9330+1oYfdmgSjS4ZqvZVothhhV58DNwzAYwINCpBA    tkjFbk/SOf0q/4rSJRpe2yH9xOuZdwqXMfk3dkp0UFZkV2EVSLyaCNKwTbSuKN75FWhgl8QB7w== hadoop@HadoopSlave1 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAw91O/1NWnbr6/vop+xwnqR/XYNpwkWselzyHNqgD PYgXXsDHsvOZbpTX7pgOTgVSmlZetCdX4C1lsc/PO8IitvvBS/qWU216lXaqlW61RcliCrYH/RwN f8XTLx/Ga04w2qEIFlLOiuH6x/KA22muOLYaSIefXv38xj0Hj41iE5ZIseaLuJogn7iqJ6Fq0wQH i6ueF9BasSWnOHhn6CJamYz3FC9r2m3vwPMkgagPp1FdYyDxodK+MZlwu6TxqP6QQ7BY/Wh5DZK8 C8zpDOZGQgWOrghF58TlZSmJYmukv1NqsY8PCFuoj7vfoUzVKQkyKcEiohwBcTb50vGPl06bMQ== hadoop@HadoopSlave2

把HadoopMaster的authorized_keys拷貝到HadoopSlave1和HadoopSlave2

scp ~/.ssh/authorized_keys hadoop@HadoopSlave1:~/.ssh/
scp ~/.ssh/authorized_keys hadoop@HadoopSlave2:~/.ssh/

 

重啟SSH服務

sudo service sshd restart

 

測試連接

ssh HadoopSlave1

 

常見免密碼登錄失敗分析

配置問題

  1. 檢查配置文件/etc/ssh/sshd_config是否開啟了AuthorizedKeysFile選項
  2. 檢查AuthorizedKeysFile選項指定的文件是否存在並內容正常

目錄權限問題

  1. ~權限設置為700
  2. ~/.ssh權限設置為700
  3. ~/.ssh/authorized_keys的權限設置為600
sudo chmod 700 ~
sudo chmod 700 ~/.ssh
sudo chmod 600 ~/.ssh/authorized_keys

 

設置完了記得重啟ssh服務

 

轉載請注明出處:http://www.cnblogs.com/keitsi/p/5653520.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM