gpt4 book ai didi

ssh - 如何使用 ssh 公钥进行 gpg 加密?

转载 作者:行者123 更新时间:2023-12-02 13:51:21 40 4
gpt4 key购买 nike

我在一个名为 key.pub 的文件中有一个公钥。 ,内容如下:

ssh-rsa AAAAB...<snip>...t+f klahnakoski

我想用它来加密文件 gpg .所需的 shell 命令的顺序是什么?

我想这个序列看起来像:
  • 将 key 转换为 gpg 友好格式
  • 发明一些凭据以使用
  • 签署 key
  • 发明一个用户以方便将 key 添加到 key 环
  • 执行加密

  • 谢谢!

    最佳答案

    RSA key 只能用于加密其 key 长度的一部分。例如一个 2048 位的 RSA key 只能用于加密大约 245 个字节。

    看:

    https://security.stackexchange.com/questions/33434/rsa-maximum-bytes-to-encrypt-comparison-to-aes-in-terms-of-security

    因此,要加密/解密大量数据(文件),您将使用使用公钥加密的对称 key ,而不是公钥本身。

    此外,您不会将对称 key 添加到公共(public) SSH key ,因为对称 key 是 secret ,而公共(public) SSH key 不是 secret 。对称 key 应添加到私有(private) SSH key 。

    它类似于以下内容:

    要转换文件格式,请安装 monkeysphere 工具集(Ubuntu)

    sudo apt-get install monkeysphere

    使用 pem2openpgp 工具将私钥转换为 gpg 格式。管道到 gpg 以进行导入。
    pem2openpgp userid-ssh@example.com < id_rsa | gpg --import

    # Check it's there
    gpg --list-secret-keys

    编辑您在 key 中的信任级别。
    gpg --edit-key userid-ssh@example.com
    gpg> trust

    添加您需要的信任级别(例如ultimate)

    导入的 key 仅适用于创建证书,不适用于签名或加密。

    加密

    key 是 RSA key ,不能用于加密/解密大量数据。如果你想这样做,你必须添加一个对称加密子 key 。当你加密时,GPG 将使用这个子 key 而不是原来的 SSH key 。
    gpg> addkey
    Please select what kind of key you want:
    (3) DSA (sign only)
    (4) RSA (sign only)
    (5) Elgamal (encrypt only)
    (6) RSA (encrypt only)
    Your selection? 6

    现在您可以使用基于 SSH key 的身份进行加密和解密。
    gpg -vv -r userid-ssh@example.com -e -a unencrypted_file.txt

    那么这有多大用处?

    好吧,使用 GPG 来生成和管理您的 SSH key 作为身份验证子 key 比尝试反过来做更有意义。事实上,它可以集成到 SSH 中,而不是 ssh-agent。

    关于ssh - 如何使用 ssh 公钥进行 gpg 加密?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35298470/

    40 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com