【问题标题】:ssh_askpass: exec(/usr/bin/ssh-askpass): No such file or directory Permission denied, please try againssh_askpass: exec(/usr/bin/ssh-askpass): No such file or directory 权限被拒绝,请重试
【发布时间】:2020-12-13 08:40:56
【问题描述】:

我想在 Bitbucket 上运行 pipline。我做了所有必要的设置。我安装了 ssh_askpass。我正在使用 Ubuntu 18。

但是,我收到以下错误。

ssh_askpass: exec(/usr/bin/ssh-askpass): No such file or directory
Permission denied, please try again.

我的 bitbucket-pipelines.yml 文件:

pipelines:
  default:
    - step:
        deployment: staging
        caches:
          - composer
        script:
          - ssh -T root@142.93.143.146
          - eval `ssh-agent -s` && ssh-add ~/.ssh/id_rsa && ssh-add -l
          - cd /var/www/backoffice/
          - git checkout master 
          - git pull origin master 
          - sudo php artisan optimize 
          - sudo composer dump-autoload
          - echo 'Deploy finished....'

【问题讨论】:

  • 你想完成什么? IIRC,ssh-askpass 面向 GUI 用户,因此他们可以以更友好的方式输入密码。我不确定这对你在做什么有意义。如果有的话,您似乎应该使用 ssh 的 authorized_keys 文件来帮助部署。更好的办法是拥有某种webhook 侦听器,可以提示并进行部署,但您可能无法获得所需的所有反馈。

标签: git bitbucket autodeploy


【解决方案1】:

您将无法在 CI 系统上使用任何类型的 GUI 程序,例如 ssh-askpass,因为在 Linux CI 系统上没有可用的 GUI。

如果您想在 CI 系统中使用 SSH 密钥,您应该使用没有设置密码的密钥并将其存储在 CI 系统的机密存储中,然后将其复制到文件中并使用它。 OpenSSH 故意不提供以编程方式读取密码的方法。

请注意,如果您只有一个没有密码的 SSH 密钥,则根本不需要 ssh-agentssh-add。假设您的私钥的内容在变量 SSH_KEY 中(例如,由于您的 CI 系统的秘密存储),您可以简单地这样做:

echo "$SSH_KEY" > ~/.ssh/id_rsa
ssh root@142.93.143.146 'echo hello from the remote machine`

你不会想在没有命令的情况下运行ssh,因为它会尝试启动一个交互式会话,这对你没有用处。如果您的目标是使用 Git 推送和拉取 SSH 连接,那么您根本不需要运行 ssh

最后,请注意,您可能希望将远程系统的主机密钥信息作为管道的一部分写入文件,无论是来自管道还是秘密,因为如果主机密钥不受信任,SSH 将无法连接.您可以通过运行如下命令获取此信息:ssh-keyscan github.com 2>/dev/null。然后,您可以将该输出插入到您的 known_hosts 文件中,如下所示:

echo "github.com ssh-rsa AAAA...truncated" > ~/.ssh/known_hosts

这比关闭严格的主机密钥检查安全得多。

【讨论】:

  • 感谢您的回答。我不知道为什么使用“ssh_askpass”。我正在使用比特桶。推送完成后,我想发出请求请求。我仍然收到错误消息。我在互联网上找不到认真的答案。
  • 这是一个完全独立的问题,所以请在新问题中提出。在 cmets 中可能没有空间让我回答。
猜你喜欢
  • 1970-01-01
  • 2014-01-20
  • 2021-03-28
  • 2017-08-02
  • 2015-07-28
  • 2014-12-02
  • 2015-10-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多