zoukankan      html  css  js  c++  java
  • ssh免密码登录机器(使用公钥和秘钥进行加密来实现)

    ssh 无密码登录要使用公钥与私钥。linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例。

    登录的原理:

    有机器A(192.168.1.155),B(192.168.1.181)。现想A通过ssh免密码登录到B。
    首先以root账户登陆为例。

    1.首先我们需要在A机器上生成一对公钥和密钥对,生成的方法如下:

    1 [root@A ~]# ssh-keygen -t rsa -P ''

    -P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车。
    该命令将在/root/.ssh目录下面产生一对密钥id_rsa和id_rsa.pub。

    一般采用的ssh的rsa密钥:
    id_rsa     私钥
    id_rsa.pub 公钥
    下述命令产生不同类型的密钥
    ssh-keygen -t dsa
    ssh-keygen -t rsa
    ssh-keygen -t rsa1

    在这里我们采用的是rsa来生成这个密钥对

    2.把A机下的/root/.ssh/id_rsa.pub 复制到B机的家目录下面,,具体的命令操作步骤如下:

    1 ssh-copy-id -i .ssh/id_rsa.pub shangzekai@10.140.112.40
    2 Now try logging into the machine, with "ssh 'shangzekai@10.140.112.40'", and check in:
    3 
    4   .ssh/authorized_keys
    5 
    6 to make sure we haven't added extra keys that you weren't expecting.

    使用如上述的命令,我们可以直接将A机器上的公钥拷贝到目标登录机上面,实际上是复制到了 /root/.ssh/authorized_keys文件里,其实我们也可以直接使用scp来进行拷贝,但要注意的是保证权限能够访问

    注意:第一需要输入密码来进行拷贝

    3.完成之后,我们免密码登录到目标机上面:

    1 [shangzekai@node100v ~]$ ssh 'shangzekai@10.140.112.40'                         
    2 Last login: Tue Aug 30 11:42:01 2016 from 10.16.59.100
    3 [shangzekai@node442v ~]$ 

    这样的话我们就完成了免密码登录的整个过程。

    需要注意的是,我们在拷贝和登录的时候,两边的用户都必须是相同的一个人

  • 相关阅读:
    线性表(List)
    LUA ipairs遍历的问题
    C#预编译的问题
    Resources与StreamingAssets文件夹的区别
    LUA表与函数的深入理解
    LUA 删除元素的问题
    SVN版本回退
    C# MemoryStream先写后读的奇怪现象
    LUA表 pairs, ipairs输出顺序问题
    LUA table.sort的问题,数组与表的区别
  • 原文地址:https://www.cnblogs.com/liuys635/p/10821842.html
Copyright © 2011-2022 走看看