SSH-1密钥类型在Bitbucket管道上折旧并进行液滴组合

问题描述 投票:0回答:1
这是我的设置:

    我们的角度应用是bitbucket管道上的,然后在digitalocean Droplet上进行
  • build
    液滴是Ubuntu 24.04.1 LTS,不再支持SHA-1键
    我有一个很好的工作,但是由于无效的公共密钥
  • ,现在失败了
  • 我尝试了什么:
  • 用Puttygen v0.82创建RSA,DSA和ECDSA键
    
将公共密钥划入Forge(然后将密钥上传到服务器中,是的,使用了正确的用户名)

将公共密钥和私钥划入存储库设置>管道> ssh键
    • 通过Bitbucket网站创建键
    • 在正确的用户名下,将公共密钥复制到锻造中
  • 我的所有尝试都失败了。在大多数情况下,我在进行Rsync时会得到
  • rsync
      ,但是
    • bitbucket-pipelines.yml
    • 显示了。这显示了通过Bitbucket网站生成的密钥,因此我创建了自己的并将其上传到Bitbucket。但是随后,尽管我没有为密钥设置任何密码,但部署失败了。在您提出问之前,是的,我确实在Bitbucket中获取(并重新提到)已知的主机。
    在我通过编辑
  • Permission denied (publickey)
修补此问题的那一刻并添加了

/etc/log/auth.log
但应该避免这种情况。
由于不建议使用SHA-1键,因此我想知道我做错了什么以及如何正确使用永不钥匙。任何帮助将不胜感激。
    
我遇到了同样的问题,并通过使用
用于多个SSH键的记录方法并生成我自己的键。
对于您和我自己的未来便利性,我在这里报告了我遵循的步骤(这些是针对Linux)`。
为了方便起见,我将这些命令运行到管道必须向SSH的主机上运行:

使用不使用密码来生成SSH键:

userauth_pubkey: signature algorithm ssh-rsa not in PubkeyAcceptedAlgorithms

obtain obtain the公钥:
ssh_askpass: exec(/usr/bin/ssh-askpass): No such file or directory

在管道必须要使用的主机中,将公共密钥添加到授权的主机中。当我在同一主机上生成它们时,我只是做到了:
ssh bitbucket
1个回答
0
投票

the obtain base64编码私钥:PubkeyAuthentication yes PubkeyAcceptedKeyTypes +ssh-rsa

在bitbucket中,导航到存储库变量

ssh-keygen -t ed25519 -b 4096 -C "[email protected]" -f ~/.ssh/bitbucket_pipelines
    (或部署设置
  1. cat ~/.ssh/bitbucket_pipelines.pub
    如果要仅应用于特定部署),并添加一个新的变量,例如base64编码私有密钥的base64 (从上一个步骤)作为值。
    
    在您的管道脚本中,将变量值转换为有效的身份文件,然后将其添加到SSH配置中。就我而言,我确实喜欢这样:
  2. cat ~/.ssh/bitbucket_pipelines.pub >> ~/.ssh/authorized_keys
  3. 作为一个旁注,我发现了一份关于弃用的RSA的官方Atlassian文档,引起了SSH登录问题
  4. ,我在解决方案上发送了反馈。
    	
© www.soinside.com 2019 - 2025. All rights reserved.