用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为例配置

  1. 首先每个节点的/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

  1. 测试SSH免密码登录

以上是关于用ssh免密码以root身份登陆vagrant虚拟机的主要内容,如果未能解决你的问题,请参考以下文章

Xshell6配置ssh免密码登录虚拟机

ssh免密码登陆

配置ssh免密码登陆

centos7 配置ssh 免密码登陆

Linux-SSH之免密码登陆

ssh秘钥对免密码登陆