linux - 检查是否已将私有(private) ssh-key 添加到 ssh-agent

标签 linux bash ssh

~/.ssh我有 githubbitbucket私钥文件。两者都是加密的,所以当我 ssh-add ~/.ssh/github我必须输入密码。
我有一个 bash 脚本来自动化 git命令。如果 github和/或 bitbucket还没有添加身份,那我要ssh-add他们。
我正在寻找类似的功能:

has_identity_been_added ~/.ssh/github
简单地检查是否已添加私有(private)加密 key 文件。
我发现:
  • ssh-add -l为每个身份打印出一串文本...我不知道它是什么,但它不是 key 文件名
  • ssh-add -L打印公钥,我没有存储在我的本地机器上,所以我不确定如何验证它,而不需要再次询问私钥文件的密码。

  • 这两个都打印了我给 key 文件的名称,例如 reed@laptop-x1834 (我认为这是自动名称,因为我没有在 -C 中指定 ssh-keygen ,如果有内存的话)。
    我不知道从这里去哪里。我不想依赖 ssh-keygen -C "whatever_name" .

    最佳答案

    ssh-add -l打印出添加的键的指纹。
    您可以通过以下方式获取公钥的指纹:

    ssh-keygen -l -f id_rsa.pub
    

    关于linux - 检查是否已将私有(private) ssh-key 添加到 ssh-agent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63528947/

    相关文章:

    php - 升级后的 PHP 现在 apache 不再执行 php 文件

    python-3.x - 仅将最后一个 shell 命令的标准输出放入 Python 变量中

    bash - bash 管道中当前变量的名称

    hadoop - ssh-keygen错误: Passphrase is too short

    macos - 通过第三台机器的 SVN-SSH 隧道?

    phpseclib 在路由器上使用 ssh2 和 telnet 命令

    php - Web本地应用程序Apache:运行Shell脚本

    Python IndexError 只发生在 osx 而不是 linux

    javascript - 如何使用 Javascript 正确处理错误?

    linux - 如何在 bash 中循环获取退出状态