zoukankan      html  css  js  c++  java
  • ssh免密登录

    ssh免密登录

    简单讲:

    就俩命令,
    ssh-keygen生成密钥
    ssh-copy-id user@host分发公钥就好.

    但更多情况下, 需要考虑的东西要比两个命令更多些.

    在创建免密登录之前, 首先需要确定, 之后使用免密登录的主服务器帐号是什么.
    如果平台系统使用root帐号, 就使用root帐号进行之后步骤.
    如果平台系统使用was帐号, 就使用was帐号进行之后步骤.
    要与之后使用的帐号保持同步.

    实现免密登录需要进行三步:

    • 一. 在主服务器创建公私钥.
    • 二. 把生成的公钥分发到远程服务器内
    • 三. 初次使用公钥登录.

    步骤

    一.创建公私钥.

    1. 在主服务器(其自身要与其他远程服务器连接) 上, 确定需要建立连接的用户.进入对应~/.ssh
    2. 查看是否有已经生成的成对的公私钥. 如无, 则创建新的. 如有, 则直接分发公钥到对应远程服务器.
    3. 生成密钥:
      ssh-keygen 即可, 有的时候密钥文件较多, 可以-C来添加注释,来增加辨识度, 注释常用邮箱.
      例如:ssh-keygen -C "jenkins-slave@123.com"

    二.分发密钥

    ssh-copy-id user@host 即可. 该命令会将~/.ssh目录下的公钥,传输到远程服务器下, 并且将内容追加到authorized_keys文件内.
    例如: ssh-copy-id root@12.99.111.111.

    三.公钥登录

    ssh user@host 后确认即可. 会~/.ssh目录下生成know_hosts文件,并记录该远程服务器的信息.
    例如: ssh root@12.99.111.111

    关于.ssh其内文件

    ~/.ssh下, 常常有4个文件.
    id_rsa,id_rsa.pub,authorized_keys,known_hosts

    id_rsa(私钥):

    私钥文件, 生成密钥文件的时候成对出现. 访问远程服务器的时候, 与放在远程服务器的公钥配对, 配对成功则能够连接.

    id_rsa.pub(公钥):

    公钥文件, 生成密钥文件的时候成对出现. 需要把该密钥放进远程服务器内. 当主服务器拿私钥访问远程服务器的时候, 能够配对成功.

    authorized_keys(公钥汇总):

    存在于远程服务器上, 当主服务器执行ssh-copy-id user@123.123.123.123的时候, 会在远程服务器生成这个文件, 并在其中追加本次需要添加的公钥.
    保存该远程服务器内所存在的所有公钥(1个公钥占1行). 一般情况下,该文件有多少行, 证明该个远程服务器能被多少个私钥主动连接.

    know_hosts(远程服务器信息记录):

    存在于主服务器上. 当主服务器第一次通过密钥连接远程服务器的时候, 会提示警告.Are you sure you want to continue connecting (yes/no)?, 确认之后, 便会生成该文件, 之后便不再会出现, 直到下次远程服务器上的硬件或系统信息发生变化, 无法和该文件内的信息匹配, 才会重新出现提示要求确认.

    所以说, 通常情况下.
    主服务器下拥有:
    id_rsa(私钥)
    know_hosts(远程服务器信息记录)
    id_rsa.pub(公钥) 可以没有, 但用完就删除掉的话, 下次再用之前生成的私钥配对, 就要去之前连接过的远程服务器内找公钥了. 或者重新生成公私钥, 则这将导致之前配对过的远程服务器无法连接, 要重新配对.
    远程服务器下拥有:
    authorized_keys(公钥汇总)

  • 相关阅读:
    mongodb一个关键字对多个字段同时查询,mongodb $or $and查询
    用Supervisord管理Python进程
    ImportError No module named memcache
    eclipse项目显示标尺
    Eclipse 安装插件后不显示的解决办法
    Flutter入门到放弃笔记(一)--Mac电脑配置Flutter环境
    iOS 动态库、静态库相关
    iOS 获取手机后台音频状态以及类别
    Swift 懒加载
    Swift中@ojbc 重载用法
  • 原文地址:https://www.cnblogs.com/jrri/p/13915528.html
Copyright © 2011-2022 走看看