用ssh免密码以root身份登陆vagrant虚拟机
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用ssh免密码以root身份登陆vagrant虚拟机相关的知识,希望对你有一定的参考价值。
参考技术A 原来登陆vagrant虚拟机都是用 vagrant ssh VM_name ,但是在自己虚拟机上,只是测试使用,为了方便想直接以root身份登陆而不是vagrant身份。主机:mac os10.12.4
虚拟机: Ubuntu 14.04
下面是实现主机到虚拟机实现root免密码登陆:
1 sudo vim /etc/hosts ,在里面添加: VM_ip VM_name 。
2 把主机里的公钥拷贝到共享文件夹: cp ~/.ssh/id_rsa.pub ~/vagrant/id_rsa.pub
3 登陆到虚拟机内,执行下面的命令:
同样的原理可以实现从一台虚拟机通过ssh登陆到其他虚拟机,不懂可以联系我。
主要有几个点需要注意:
SSH免密码登录配置
部署hadoop集群,都需要配置SSH免密码登陆,为什么要设置SSH免密码登录,其原因是我们在开启hadoop的时候需要多次输入yes和root密码,这是我们所不能忍受的,我们迫切需要实现免登录的功能。
这里以三个节点node0, node1,node2为例配置
- 首先每个节点的/etc/hosts文件都要配置好,内容如下:
10.10.75.100 node0
10.10.75.101 node1
10.10.75.102 node2
2.在每个节点都执行:
ssh-keygen -t rsa
生成公钥
注意:如果以前有生成过可以先删除,删除命令是 rm -rf /root/.ssh/
3.将node1,node2生成的公钥改名,拷贝到node0节点上
#节点node1
cp /root/.ssh/id_rsa.pub /root/.ssh/key_node1
scp /root/.ssh/key_node1 [email protected]:/root/.ssh/
#节点node2
cp /root/.ssh/id_rsa.pub /root/.ssh/key_node2
scp /root/.ssh/key_node2 [email protected]:/root/.ssh/
4.node0节点生成公钥也改名
cp /root/.ssh/id_rsa.pub /root/.ssh/key_node0
5.在节点node0上,把公钥导入到认证文件,执行如下命令:
cd /root/.ssh/
cat key_node0 >> authorized_keys
cat key_node1 >> authorized_keys
cat key_node2 >> authorized_keys
cat key_node3 >> authorized_keys
chmod 700 /root/.ssh
chmod 600 authorized_keys
6.把这个authorized_kesy文件分发到其它节点
scp authorized_keys [email protected]:/root/.ssh
scp authorized_keys [email protected]:/root/.ssh
- 测试SSH免密码登录
以上是关于用ssh免密码以root身份登陆vagrant虚拟机的主要内容,如果未能解决你的问题,请参考以下文章