Linux虚拟机之间免密登录的实现

来源:互联网 发布:淘宝店铺收藏有用吗 编辑:程序博客网 时间:2024/06/16 09:53
Linux虚拟机之间免密登录的实现

1.生成当前节点免密登录信息
1)$ ssh-keygen -t rsa 命令,出现一下结果,我一直按Enter,按到最后,
2)$ ssh localhost  进行检测,是否无密码登录
3)$ cd .ssh
4)$ ls -a
authorized_keys  id_rsa  id_rsa.pub


2.B实现免密登录A,需要在B中导入A的id_rsa.pub
1)$ scp id_rsa.pub hadoop@B:/home/用户usera  从A节点拷贝id_rsa.pub到B节点用户目录下
2)$ cat id_rsa.pub >> .ssh/authorized_keys  在B节点上,将id_rsa.pub写入到B的authorized_keys

3)$ ssh 用户usera@A  在B节点实现免密码使用用户登录A节点,进行控制   在命令中A、B均可以用IP代替



参考


1、hadoop02@ubuntuserver2:/root$ ssh-keygen -t rsa  命令,出现一下结果,我一直按Enter,按到最后,
[cpp] view plain copy
Generating public/private rsa key pair.  
Enter file in which to save the key (/home/hadoop02/.ssh/id_rsa):   
Enter passphrase (empty for no passphrase):   
Enter same passphrase again:   
Your identification has been saved in /home/hadoop02/.ssh/id_rsa.  
Your public key has been saved in /home/hadoop02/.ssh/id_rsa.pub.  
The key fingerprint is:  
0f:7e:45:6c:40:7c:9d:46:c5:12:31:09:5c:2c:4a:aa hadoop02@ubuntuserver2  
The key's randomart image is:  
+--[ RSA 2048]----+  
|         oo..**B.|  
|          oo+ B..|  
|         o o+o . |  
|        . .o     |  
|       .S   .    |  
|      E. o .     |  
|        . o      |  
|         .       |  
|                 |  
+-----------------+  
2、hadoop02@ubuntuserver2:/root$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
注意:cat 与.ssh之间有空格,id_rsa.pub与>>之间有空格
3、hadoop02@ubuntuserver2:~$ cd .ssh
4、hadoop02@ubuntuserver2:~$ ls -a
authorized_keys  id_rsa  id_rsa.pub
5、hadoop02@ubuntuserver2:~/.ssh$ ssh localhost  进行检测,是否无密码登录
6、把hadoop02中的id_rsa.pub拷贝到hadoop01中
hadoop02@ubuntuserver2:~/.ssh$ scp id_rsa.pub hadoop01@192.168.1.135:/home/hadoop01
注意:hadoop01@192.168.1.135在ubuntu操作系统中必须这样写,否则就会出现错误。这可能跟其他的linux操作系统不同,hadoop01是你的登录名,192.168.1.135是IP地址。
这样就可以传递成功!
7、hadoop01@hadoop-master:~$ cat id_rsa.pub >> .ssh/authorized_keys
注意这个要在/hadoop01目录中,完成这部之后,hadoop02访问hadoop01就不需要密码访问了。
8、测试一下:在hadoop02中,ssh hadoop01@192.168.1.135  测试一下是否直接可以控制hadoop01了!