《从零开始学Hadoop大数据分析(视频教学版)》 —2.5 SSH免密码登录
2.5 SSH免密码登录
在2.4节中已经创建好了两台机器,并且相互之间可以进行通信,这时就需要进行文件的相互传输,如从master节点传到slave节点,这样就需要用到scp(拷贝)等命令来完成。但是在多台服务器之间操作文件传输时总是需要输入密码,每次都输入密码很麻烦,而且有些安全系统高的机器,密码相当难记,而SSH免密码登录无疑能大大地提高工作效率。
总的来说,服务器A如果要免密码登录到服务器B时,需要在服务器A上生成密钥对,将生成的公钥上传到服务器B上,并把公钥追加到服务器B的authorized_keys信任文件中。具体操作步骤如下。
1.在服务器A上执行命令ssh-keygen –t rsa –P' '创建密钥对
[root@master~]# ssh-keygen –t rsa –p ’’
Generrating public/private rsa key pair.
Enter file in which to save the key(/root/.ssh/id_rsa):
Created directory’/root/.ssh’.
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub
The key fingerprint is:
C8:7d:b6:4a:b8:7a:46:66:87:d4:b2:30:55:2b:1b:cc root@master
The key’s randomart image is:
+--[RSA 2048]----+1
1 .. 1
1 o. . 1
1 .E.. 1
1 o.o*. 1
1 +++S o 1
1 *..o . 1
1 +... . 1
1 oo . 1
1 .+. . 1
+-----------------------+
2.传递公钥
执行完上述命令后,在执行命令的.ssh文件夹下会生成一个扩展名为.pub的文件。下面通过scp命令将.pub文件复制到slave节点上,假设这里的slave节点的IP是192.168.109.201,命令如下:
scp .ssh/id_rsa.pub root@192.168.109.201:~
将公钥交给slave,将ssh/id_rsa.pub文件复制到slave服务器上。
[root@master~]#scp .ssh/id_rsa.pub root@192.168.109.201:~
The authenticity of host ‘192.168.109.201(192.168.109.201)‘can’t be
established.
RSA key fingerprint is 6f:d7:06:f3:47:cf:36:If:9b:ee:3a:60:4d:5C:2d:3c
Are you sure you want to continue connecting (yes/no)?yes
Warning:Permanently added‘192.168.109.201’(RSA)to the list of known hosts
root@192.168.109.201’s password:
需要注意的是,第一次将文件传到slave节点时是需要输入密码的,一旦免密码配置完成,后续再换文件时就不需要再输入密码了。
3.关闭防火墙
为了使两台机器之间进行通信,还需要将每个节点的防火墙都关闭。关闭防火墙有两种方法,一种是永久生效;另一种是立即生效,重启后无效。这两条命令我们可以都运行一遍,这样就代表防火墙立即关闭,并且机器重启后仍然处于关闭状态。
(1)即时生效,重启后失效:
service iptables stop
(2)重启后永久生效:
chkconfig iptables off
- 点赞
- 收藏
- 关注作者
评论(0)