ssh的登录方式有两种:基于口令的,基于密钥(公钥加密算法)的。

           基于口令的就是直接输入密码的验证,我们要谈的是SSh的安全登录。

密钥的组成:私钥(s)公钥(p)

      公钥是公布于互联网的,人人都可以获得,而私钥则是自己私有的。一对密钥包括一组私钥和密钥,它们是成对的,各种密钥不能互用。

        当一个用户用公钥来与我们的私钥匹配(p-->s)时就能保证安全性,因为用你的公钥加密的东西只有你能解密。

        当我们使用自己的密钥来与使用我们公钥的用户来进行匹配(s-->p)时就能实现身份验证,用户可以知道访问的就是我们。

     密钥的生成

                使用的命令:ssh-keygen  -t  (指定加密的方式)

                                                   -c (添加的注释)   " root@192.168.0.16"

                                                   rsa

 

           p_w_picpath           

       上面的第一行:生成密钥的命令

                第二行:输入密钥生成的路径和名字,默认的话就是/root/.ssh/id_rsa

                       (这里指定的是私钥的文件名,公钥的文件名为id_rsa.pub)

                 第三行:由于我先前生成了默认文件名的密钥,这里提示我们是否覆盖,我选择覆盖

                 第四行:提示我们生成的私钥保存的目录      

                 第五行:公钥的保存目录

                 第六行:私钥

我们在这里进行以下实验:

首先我们的明白,我们需要把自己的公钥给予我们需要登录的主机,这里需要注意的是我们应该把公钥给予我们要登录主机的哪个用户?当然使我们需要使用的对方的用户.一般,用户的家目录下都有.ssh的隐藏目录,用于存储密钥.
        1.使用自己的主机A的root用户登录其他主机B的root用户

    我们需要保证B主机之前使用ssh登录过其他主机,主要是生成/root/.ssh目录.

然后我们把公钥传送到B主机的root用户的家目录下的.ssh下,并将A主机的公钥导入到root/.ssh的authorized_keys2 内即可.

       2.使用自己的root账户登录其他主机的普通账户,我们需要把密钥拷贝到普通账户家目录下的.ssh/下,并修改权限chmod o+w  ,并创建authorized_keys2 文件,将公钥导入到authorized_keys2 中.

       3.使用WINDOWS主机访问LINUX ,这个比较简单,我们只需要把公钥下载到WINDOW,再使用ssh的WINDOW客户端导入密钥即可.