• 关于ssh-keygen 生成的key以“BEGIN OPENSSH PRIVATE KEY”开头


    现在使用命令 ssh-keygen -t rsa  生成ssh,默认是以新的格式生成,id_rsa的第一行变成了“BEGIN OPENSSH PRIVATE KEY” 而不在是“BEGIN RSA PRIVATE KEY”,此时用来msyql、MongoDB,配置ssh登陆的话,可能会报 “Resource temporarily unavailable. Authentication by key (/Users/youname/.ssh/id_rsa) failed (Error -16). (Error #35)” 提示资源不可用,这就是id_rsa 格式不对造成的

    解决方法(一):

    使用 ssh-keygen -m PEM -t rsa -b 4096 来生成

    -m 参数指定密钥的格式,PEM(也就是RSA格式)是之前使用的旧格式

    -b:指定密钥长度;

    -e:读取openssh的私钥或者公钥文件;

    -C:添加注释;

    -f:指定用来保存密钥的文件名;

    -i:读取未加密的ssh-v2兼容的私钥/公钥文件,然后在标准输出设备上显示openssh兼容的私钥/公钥;

    -l:显示公钥文件的指纹数据;

    -N:提供一个新密语;

    -P:提供(旧)密语;

    -q:静默模式;

    -t:指定要创建的密钥类型

    解决方法(二):

    将密钥转换为PuTTy ppk格式并返回来解决

    tempkey的内容:

    ```
    -----BEGIN OPENSSH PRIVATE KEY-----
    b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAA...
    -----END OPENSSH PRIVATE KEY-----
    ```
    转换为ppk格式:
    `puttygen tempkey -o tempkey.ppk`

    转换回openssh格式:
    `puttygen tempkey.ppk -O private-openssh -o tempkey.oldformat`

    tempkey.oldformat的内容:

    ```
    -----BEGIN RSA PRIVATE KEY-----
    MIIJJwIBAAKCAgEAzmmS5aA0....
    -----END RSA PRIVATE KEY-----
    ```

    参考地址:https://github.com/duplicati/duplicati/issues/3360

  • 相关阅读:
    @resource、@Autowired、@Service在一个接口多个实现类中的应用
    java 中 静态块的作用
    数组、List和ArrayList的区别
    C#优化
    Net XML操作
    Asp.Net MVC+EF+三层架构的完整搭建过程
    C#多线程
    算法
    详解java中的byte类型
    虚幻4蓝图编译剖析(三)
  • 原文地址:https://www.cnblogs.com/soner/p/10412888.html
Copyright © 2020-2023  润新知