SSHパスワードフリーログイン構成

3066 ワード

1、環境仮定
(1)3台のサーバ、ホスト名はそれぞれmaster、slave 1、slave 2
(2)パスワードなしでログインする必要があるユーザ名はhadoop
2、構成手順
(1)サーバごとにsshサービスがインストールされているか確認する
	[root@master ~]# rpm -qa | grep ssh
	openssh-5.3p1-84.1.el6.x86_64
	libssh2-1.4.2-1.el6.x86_64
	openssh-askpass-5.3p1-84.1.el6.x86_64
	openssh-clients-5.3p1-84.1.el6.x86_64
	openssh-server-5.3p1-84.1.el6.x86_64

(2)Openssh関連サービスが発生した場合は、既にインストールされていることを示し、逆にインストールされていない
	#    yum  rpm      
	[root@master ~]# yum install ssh
	#       ssh  ,ssh       sshd
	[root@master ~]# service sshd start
	#    /etc/init.d/sshd start
	[root@master ~]# /etc/init.d/sshd start

(3)SSHサービスの開始
	#       ssh        
	[root@master ~]# ssh localhost
	root@localhost's password: 
	Last login: Fri Jun 26 16:48:43 2015 from 192.168.1.102
	[root@master ~]# 
	#      
	[root@master ~]# exit
	logout
	Connection to localhost closed.
	[root@master ~]# 

(3)sshd_の修正configプロファイル
	#      ssh      
	[root@master ~]# vi /etc/ssh/sshd_config
	###########################################################
	RSAAuthentication yes
	PubkeyAuthentication yes
	AuthorizedKeysFile      .ssh/authorized_keys
	###########################################################
	#  sshd  
	[root@master ~]# service sshd restart

(4)公開鍵秘密鍵にパスワードなしでログインするように構成し,ループバックテストを行う(以下の手順は3台のサーバで行う).
	#  hadoop  
	su hadoop
	#  hadoop home  
	[hadoop@master ~]cd ~
	#     
	[hadoop@master ~]$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
	#  .ssh  
	[hadoop@master ~] cd .ssh
	#           、    ,id_dsa.pub   ,id_dsa   
	[hadoop@master ~] ll
	#        authorized_keys  , sshd_config            
	[hadoop@master .ssh]$ cat id_dsa.pub >> authorized_keys
	#    ssh       ,          ,    authorized_keys    
	[hadoop@master .ssh]$ ssh localhost
	#  authorized_keys     600
	[[email protected]]$ chmod 600 authorized_keys
	#      ssh       ,  
	[hadoop@master .ssh]$ ssh localhost

(4)マスターノードをSSHフリーパスワードで2つのノード(slave)に登録できるようにする.この機能を実現するためには,2つのslaveノードの公開鍵ファイルにマスターノード(master)の公開鍵情報を含める必要がある.
	#  :       slave1、slave2    
	#hadoop    ,   hadoop .ssh  
	
	# master    id_dsa.pub   slave1、slave2,   master_dsa.pub
	[hadoop@slave1 .ssh] scp hadoop@master:~/.ssh/id_dsa.pub ./master_dsa.pub
	# master_dsa.pub            slave1 authorized_keys
	hadoop@slave1 .ssh]$ cat master_dsa.pub >> authorized_keys
	#  authorized_keys     600
	[hadoop@slave1 .ssh]$ chmod 600 authorized_keys
	#  root  
	[hadoop@slave1 .ssh]$ su root
	#  sshd  ,         root  
	[root@slave1 .ssh]# service sshd restart
	
	# master    ,  hadoop           
	[root@master ~]# su hadoop
	[hadoop@master ~]$ ssh slave1
	Last login: Thu Mar 30 12:15:19 2017 from master
	Last login: Thu Mar 30 12:15:19 2017 from master
    	[hadoop@slave1 ~]$ 
	#  [hadoop@slave1 ~]$     slave1  
	#  ssh  
	[hadoop@slave1 ~]$ exit
	[hadoop@master ~]$