当前位置: 首页 > 知识库问答 >
问题:

加载密钥“/root/.ssh/id\u rsa”时出错:格式无效

党俊健
2023-03-14

我正在使用GitLab为我的django项目构建CI/CD。作为我部署阶段的一部分,我有

deploy:
  stage: deploy
  script:
    - mkdir -p ~/.ssh
    - echo "$PRIVATE_KEY" | tr -d '\r' > ~/.ssh/id_rsa
    - cat ~/.ssh/id_rsa
    - chmod 700 ~/.ssh/id_rsa
    - eval "$(ssh-agent -s)"
    - ssh-add ~/.ssh/id_rsa
    - ssh-keyscan -H 'gitlab.com' >> ~/.ssh/known_hosts
    - chmod +x ./deploy.sh
    - scp  -o StrictHostKeyChecking=no -r ./.env ./docker-compose.prod.yml ec2-user@$EC2_PUBLIC_IP_ADDRESS:/home/ec2-user/app
    - bash ./deploy.sh
  only:
    - master

构建在ssh add ~/处崩溃。ssh/id\u rsa,错误消息为加载密钥时出错/root/。ssh/id\u rsa:格式无效。

我已经检查过有类似错误信息问题的人,似乎没有一个问题与我正在做的事情有关。

  1. 我正在尝试部署到amazon ec2

共有2个答案

习胤运
2023-03-14

在##aws irc频道的人的帮助下,我设法修复了它

问题所在

我生成了PKCS#1密钥格式,而不是PKCS#8格式。PKCS#1表示为:

-----BEGIN RSA PRIVATE KEY-----
BASE64 ENCODED DATA
-----END RSA PRIVATE KEY-----

PKCS#8表示为:

-----BEGIN PRIVATE KEY-----
BASE64 ENCODED DATA
-----END PRIVATE KEY-----

解决方案

我只是复制了私人密钥并在这里进行了转换https://decoder.link/rsa_converter

您还可以在此处看到更好的说明“BEGIN RSA PRIVATE KEY”和“BEGIN PRIVATE KEY”之间的差异

如下所示编辑,使用网站进行转换不是一个好主意。尤其是当您的私钥可能被发送到他们的服务器时。相反,在本地进行转换,如@csgeek所示

徐景明
2023-03-14

我遇到了这样的问题,错误是“加载key/root/时出错”。ssh/id\u rsa“:无效格式”这是由于受保护变量引起的,该变量仅应用于受保护的分支。我的意思是,如果在未受保护的分支上使用受保护的变量,它将无法识别该变量,因此无法识别它。

 类似资料:
  • 我试图克隆一个回购,其中有子模块。主回购是克隆罚款,但当我做在dockerfile子模块抛出和错误。 在图像中我有这个 我无法控制子模块。我不确定是否可以从到https以获取子模块。 我甚至尝试使用route 下面是构建命令的一部分。 请帮帮忙。这很令人沮丧(

  • 我无法控制子模块。我不确定是否可以从更改为https来获取子模块。 我甚至尝试使用路由 下面是build命令的部分。

  • 我有一个dockerfile: 但当我尝试用最新的docker版本构建它时,我得到了以下错误: 谁能告诉我,我应该如何修复这个dockerfile?谢谢!!

  • 我正在使用ionic开发一个android应用程序。我用一个新的密钥库错误地给我的应用程序签名。当我将应用程序上传到PlayStore时发现证书不相等时,我使用了与PlayStore中所需证书相同的备份keystore文件。 现在,如果我想用命令对我的。apk进行jarsign 我得到以下错误 我谷歌了很多,但我不确定是否有任何解决方案可以帮助我。我必须使用我的旧证书,不能使用一个新的,因为我不能

  • 我使用PuTTY密钥生成器生成了一个4096位RSA-2密钥,其中包含一个密码短语。 我保存了. ppk和一个openSSL格式的公钥。油灰格式公钥不起作用。 无论如何,我的错误如下: 有什么问题吗? 我使用Pageant来加载密钥,我使用Git Bash来尝试ssh连接。我也把密钥加载到GitHub,不知道我做错了什么。 我尝试在GitHub中添加新行,但没有添加新行

  • 有什么建议吗?我试图用puttygen转换我的钥匙,但仍然不起作用!我的pub密钥的开头是ssh rsa密钥。。私钥:--开始OPENSSH私钥--。。键--结束OPENSSH私钥--