• 使用ssh-agent管理密钥


    ssh-agent是ssh代理程序,使用ssh-agent可以方面管理私钥。
    ssh-agent主要使用在如下两个场景:
    1.使用不同的密钥连接不同主机,每次连接都要指定私钥;
    2.当私钥设置了密码,每次使用认证时都需要输入密码,非常麻烦。

    启动ssh-agent

    启动ssh-agent有两种方法:
    ssh-agent $SHELL
    eval 'ssh-agent'

    • ssh-agent $SHELL
      这种方式会在当前shell中启动一个默认shell作为当前shell的子shell,ssh-agent程序会在子shell中运行。$SHELL变量名代表系统的默认shell,如果自己知道系统使用的是哪一种shell也可以直接指定,如ssh-agent bash,ssh-agent csh.退出当前子shell使用exit。使用pstree查看进程树。

    • eval 'ssh-agent'
      这种方式不会启动一个子shell,而是直接启动一个ssh-agent进程,使用ssh-agent -k来关闭代理。如果退出了当前bash,再使用ssh-agent -k无法关闭代理。当然,第一种方式可是可以使用ssh-agent -k来关闭代理的。

    添加密钥

    使用如下命令将私钥添加到代理中

    ssh-add ~/.ssh/id_rsa_test
    

    id_rsa_custom是指私钥,上述命令需要在已经启动了ssh-agent的状态下使用。

    选择对应的私钥

    这种情况是我们在创建密钥对时手动指定了密钥名称,而不是使用默认的名称。分为以下几步:

    • ssh-agent bash
      启动代理程序

    • ssh-add ~/.ssh/id_rsa_test
      添加密钥

    • ssh root@192.168.0.45
      连接远程机器

    免去输入私钥密码

    这种情况是我们在创建密钥对时指定了密钥的密码,解决过程分为几步。

    • ssh-agent bash
      启动代理程序

    • ssh-add ~/.ssh/id_rsa_test
      将密钥加入代理,此时会提示输入密钥的密码

    • ssh -i ~/.ssh/id_rsa_test root@192.168.0.45
      连接远程机器

    相关命令

    ssh-add -l	//查看代理中的私钥
    ssh-add -L	//查看公钥
    ssh-add -d /root/.ssh/id_rsa_test	//移除密钥
    ssh-add -D	//清空所有私钥
    ssh-add -x	//对代理进行加锁,加锁后仍然需要指定密钥或者密码等
    ssh-add -X	//对代理进行解锁
    
  • 相关阅读:
    ubuntu12.04 死机 卡屏 画面冻结解决方案
    Install Firefox 20 in Ubuntu 13.04, Ubuntu 12.10, Ubuntu 12.04, Linux Mint 14 and Linux Mint 13 by PPA
    ListView1.SelectedItems.Clear()
    android studio 下载地址
    jquery.slider.js jquery幻灯片测试
    jquery.hovermenu.js
    jquery.tab.js选项卡效果
    适配 placeholder,jquery版
    jquery.autoscroll.js jquery自动滚动效果
    将 Google Earth 地图集成到自己的窗体上的 简单控件
  • 原文地址:https://www.cnblogs.com/suraer/p/8550004.html
Copyright © 2020-2023  润新知