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 [email protected]:/home/用户usera 从A节点拷贝id_rsa.pub到B节点用户目录下
2)$ cat id_rsa.pub >> .ssh/authorized_keys 在B节点上,将id_rsa.pub写入到B的authorized_keys
3)$ ssh 用户[email protected] 在B节点实现免密码使用用户登录A节点,进行控制 在命令中A、B均可以用IP代替
参考
1、[email protected]:/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 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
| oo..**B.|
| oo+ B..|
| o o+o . |
| . .o |
| .S . |
| E. o . |
| . o |
| . |
| |
+-----------------+
2、[email protected]:/root$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
注意:cat 与.ssh之间有空格,id_rsa.pub与>>之间有空格
3、[email protected]:~$ cd .ssh
4、[email protected]:~$ ls -a
authorized_keys id_rsa id_rsa.pub
5、[email protected]:~/.ssh$ ssh localhost 进行检测,是否无密码登录
6、把hadoop02中的id_rsa.pub拷贝到hadoop01中
[email protected]:~/.ssh$ scp id_rsa.pub [email protected]:/home/hadoop01
注意:[email protected]在ubuntu操作系统中必须这样写,否则就会出现错误。这可能跟其他的linux操作系统不同,hadoop01是你的登录名,192.168.1.135是IP地址。
这样就可以传递成功!
7、[email protected]:~$ cat id_rsa.pub >> .ssh/authorized_keys
注意这个要在/hadoop01目录中,完成这部之后,hadoop02访问hadoop01就不需要密码访问了。
8、测试一下:在hadoop02中,ssh [email protected] 测试一下是否直接可以控制hadoop01了!