快捷搜索:

您的位置:澳门新葡4473网站 > 新葡亰平台娱乐 > Ubuntu16.04下配置ssh免密登录

Ubuntu16.04下配置ssh免密登录

发布时间:2019-11-26 12:41编辑:新葡亰平台娱乐浏览(58)

    Ubuntu16.04下配置ssh免密登录

    我是在WIn10环境下用VMWare安装的Ubuntu14.04,与MacOS Sierra进行ssh免密登录配置。

    环境准备:新建两台虚拟机,而且两台虚拟机上都装有Ubuntu16.04的系统,使两台虚拟机之间保持互通状态。分别为两台虚拟机命名为A,B。假设我们要使A虚拟机免密登录B虚拟机。

    1.Linux

    ctrl+Alt+T或者直接打开Terminal

    1.在A虚拟机的普通用户的终端下输入如下命令:

    1.1安装vim

    我下载的Ubuntu镜像文件是没有自带vim命令的,所以,首先用

    sudo apt-get install vim 

    安装vim。

    安装完成后可以用 vim ~/.bashrc或者随便一个文件来测试vim。执行结果如图。不对文件做任何修改 :q退出。(注意:此处只是测试vim是否安装好,不执行也可以)。

     ssh-keygen
    

    图片 1

    然后一直按回车到结束。这时在/home/username/的目录下发现多了一个.ssh/的目录。进入到.ssh/目录下会发现有id_rsa和id_rsa.pub这两个目录,它们分别为私钥和公钥。

    1.2安装ssh客户端

    接下来,用

    sudo apt-get install openssh-client 

    命令,安装ssh客户端。

    2.在B虚拟机的普通用户的终端下输入如下命令:

    1.3安装ssh服务器

    然后用

    sudo apt-get install openssh-server

    安装ssh服务器。

    sudo mkdir /home/username/.ssh/
    sudo touch /home/username/.ssh/authorized_keys
    

    1.4生成密钥

    使用

    ssh-keygen -t rsa 

    生成密钥。

    遇到让输入内容的,直接输入回车。一共三个回车。

    此时,进入~/.ssh 发现已经生成两个文件 :id_rsa、id_rsa.pub

    此时,使用

    ssh localhost

    再输入密码,就可以连接localhost。

    ctrl+d退出当前连接的服务器。

    在B虚拟机创建新目录/home/username/.ssh/,并且在该目录下创建新的文件authorized_keys。

    2.Mac端

    同样,使用

    ssh-keygen -t rsa

    生成密钥。三个回车。

    此时 使用ssh localhost 再输入密码,同样可以登录到本机服务器。contral+d退出。

    同时,本机的.ssh文件夹下,也生成了id_rsa、id_rsa.pub这两个文件。

    使用

    cd ~/.ssh

    cat  id_rsa.pub >> authorized_keys

    将id_rsa.pub的内容,放到authorized_keys文件里。此时用ls列出当前文件夹得内容,有三个文件,分别是id_rsa、id_rsa.pub、authorized_keys。

    此时,ssh localhost,可以免密直接登录了。

    3.在A虚拟机的普通用户的终端下输入如下命令:

    3.配置免密登录服务器

    3.1在虚拟机的 .ssh目录下使用

    scp id_rsa.pub >> your mac's username@your mac's ip:/Users/your mac's username/.ssh/id_rsa.pub.ubuntu

    如:

    scp id_rsa.pub >>  nana@192.168.1.105:/Users/nana/.ssh/id_rsa.pub.ubuntu

    把Ubuntu的id_rsa.pub文件传到mac,并以id_rsa.pub.ubuntu的名字存储。

    此时 在mac端.ssh文件夹下查看是否有id_rsa.pub.ubuntu文件

    3.2在mac端执行

    cat id_rsa.pub.ubuntu >> authorized_keys

    把传来的linux的公钥追加到authorized_keys后面。

    3.3配置linux虚拟机端口

    现在虚拟机终端内,使用ifconfig,查出虚拟机ip。如:我的虚拟机ip为:192.168.85.129

    在VMWare主页,找到编辑-虚拟网络编辑-更改设置-NAT模式-添加

    设置如图所示的端口转发,主机端口建议设置为9000以上。

    图片 2

    5.mac端使用scp -P 9000 /Users/nana/.ssh/authorized_keys na@192.168.1.108:/home/na/.ssh/authorized_keys 

    把authorized_keys发送到虚拟机上。

    此时 ,执行

    ssh  -p 9000 na@192.168.1.108

    可以使用ssh免密登录linux虚拟机。

    192.168.1.108为我的win10系统的主机ip

    sudo scp -r id_rsa.pub username@10.192.12.103:/home/username/.ssh/
    

    将A虚拟机生成的公钥复制到B虚拟机的.ssh/目录下,如上命令的IP为B虚拟机的IP。

    4.在B虚拟机的终端下输入如下命令:

    cat /home/username/.ssh/id_rsa.pub >> /home/username/.ssh/authorized_keys
    rm -rf /home/username/.ssh/id_rsa.pub
    chmod 700 /home/username/.ssh
    chmod 600 /home/username/.ssh/authorized_keys
    

    将从A传过来的公钥里的内容复制到新建的文件authorized_keys中,然后删除公钥,再修改权限。

    5.在A虚拟机的终端下测试ssh是否可以成功的免密登录B虚拟机,输入以下命令:

    ssh 10.192.12.103
    

    如果不需要输入B的登录密码,直接进入B,那么表示配置成功。

    本文由澳门新葡4473网站发布于新葡亰平台娱乐,转载请注明出处:Ubuntu16.04下配置ssh免密登录

    关键词: