• Linux主机SSH免密设置解析


    为了保证一台Linux主机的安全,所以我们每个主机登录的时候一般我们都设置账号密码登录。但是很多时候为了操作方便,我们都通过设置SSH免密码登录。那么该如何设置?是不是免密码登录就不安全了呢?

    一、被访问主机的秘钥存储机制

    在被SSH登录的主机中,其实都有一个存储来登录的主机的秘钥的文件,它的名字叫做authorized_keys,它的位置就在root/下面的隐藏目录.ssh中(注:如果这台主机没有被设置任何免秘钥登录,这个文件缺省是不存在的)

    在authorized_keys文件中,存储着能够登录本地主机的各个主机的身份证信息,他们的存储格式都是以ssh-rsa开头的一组字符串。在这里,我们不用理解他的意义,但是要记住两点:

    1.     每个ssh-rsa及其之后字符串组成了一个唯一代表一个主机的秘钥;

    2.     这个秘钥是无法被仿照的;

    二、SSH免密登录设置

    (1)从Linux系统下发起免密登录

    目标机器: HostA

    本地机器: HostB

    a.     在本地机器用ssh-keygen 生成一个公私钥对

    [root@HostB ~] ssh-keygen

    此时,在/root/下会生成一个.ssh目录,在这个目录下会生成两个文件

    id_rsa是私钥,一定要保存好。不能丢失,也绝对不能分发给其他的用户。如果私钥丢失,身份就可能会被别人冒充。

    id_rsa.pub是公钥,用来对外做分发用的。其他的主机拿到公钥之后,就能够判断私钥是否准确。

    b.     把本地生成的公钥拷贝到需要登录的目标主机上

    [root@HostB  ~]scp .ssh/id_rsa.pub root@192.168.1.181:/home/

    c.      在远程主机上,将公钥添加到authorized_keys文件之后

    [root@HostA  ~]cat id_rsa.pub >> .ssh/authorized_keys

    [root@HostA  ~]chmod 700 .ssh

    [root@HostA  ~]chmod 600 .ssh/authorized_keys

    这里要注意两点:

    1) 这里是目标主机HostA,而不是发起主机HostB

    2) 这里需要用cat命令将公钥中的内容用重定向命令>>添加到authorized_keys文件之后,而不能简单的用cp命令。原因是因为authorized_keys里面以前可能添加过秘钥,如果用cp命令,可能将以前的秘钥都冲掉。

    d.     上述步骤都完成后,免密登录都已经设置完成,可以回到本地主机上进行SSH登录了

     摘自:http://blog.csdn.net/royalfizz/article/details/53356584

  • 相关阅读:
    zzuli 1908
    继承 封装 多态 java的三大特性
    FZU 2232
    zzuli 1079
    zzuli 1023
    二分图的匹配 hdu 1083
    CodeIgniter学习笔记(五)——CI超级对象中的uri
    CodeIgniter学习笔记(四)——CI超级对象中的load装载器
    CodeIgniter学习笔记(三)——CI中的视图
    CodeIgniter学习笔记(二)——CI中的控制器
  • 原文地址:https://www.cnblogs.com/chafe/p/7792910.html
Copyright © 2020-2023  润新知