美文网首页技术文程序员我用 Linux
用ssh免密码以root身份登陆vagrant虚拟机

用ssh免密码以root身份登陆vagrant虚拟机

作者: I_am_Eko | 来源:发表于2017-04-28 19:34 被阅读0次

    原来登陆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 登陆到虚拟机内,执行下面的命令:

    //切换到root身份,第一次登陆需要执行sudo passwd设置root密码
    su
    //把公钥追加到虚拟机的认证文件中
    cat /vagrant/id_rsa.pub > /root/.ssh/authorized_keys
    //设置认证文件的访问权限
    chmod 644 /root/.ssh/authorized_keys
    //设置ssh允许无密码登陆
    vim /etc/ssh/sshd_config
    //注释掉PermitEmptyPasswords no,添加PermitRootLogin yes
    ![ubuntu1的副本.png](https://img.haomeiwen.com/i5276305/dddb4d144a1a204c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/750)
    //重启ssh服务,退出虚拟机,回到zhuji
    sudo service ssh restart
    exit
    //可以愉快的登陆啦!
    ssh root@VM_name/ssh root@VM_ip
    

    同样的原理可以实现从一台虚拟机通过ssh登陆到其他虚拟机,不懂可以联系我。
    主要有几个点需要注意:

    • 通过配置hosts文件,来实现域名到ip的映射,就是把后面的名字解析成前面的IP。
    • ssh的配置文件sshd_config修改,修改完了要重启ssh服务。
    • 要想通过主机A访问主机B,需要把A的public_key添加到B的authorized_keys表中,加完记得给它读的权限,这样只能A访问B。
    • 如果是通过root访问,是添加public_key到/root/.ssh/authorized_keys中,通过其他用户访问,就添加到~/.ssh/authorized_keys。

    相关文章

      网友评论

        本文标题:用ssh免密码以root身份登陆vagrant虚拟机

        本文链接:https://www.haomeiwen.com/subject/vnrazttx.html