【问题标题】:Warning: Identity file /home/user/.ssh/id_rsa not accessible: No such file or directory警告:身份文件 /home/user/.ssh/id_rsa 不可访问:没有这样的文件或目录
【发布时间】:2018-06-27 19:03:53
【问题描述】:

我使用Deployer 将我的代码部署到多个服务器。今天开始部署后出现此错误:

[Deployer\Exception\RuntimeException (-1)]                                                        
The command "if hash command 2>/dev/null; then echo 'true'; fi" failed.                           
Exit Code: -1 (Unknown error)                                                                     
Host Name: staging                                                                                
================                                                                                  
Warning: Identity file /home/user/.ssh/id_rsa not accessible: No such file or directory.  
Permission denied (publickey).

首先,我认为这可能与此服务器配置有关,因为我将完整安装移至另一个托管服务提供商。我试图触发部署到我在过去几天部署的服务器,但随后出现了同样的错误。这很快将我的怀疑从服务器转移到了本地。

由于我在 docker 中运行 PHP(Deployer 是用 PHP 编写的),我认为这可能与我的 ssh-agent 没有从我的主机操作系统正确转发到 docker 有关。我通过直接从我的操作系统(Ubuntu,如果有帮助的话)使用全新的 PHP 安装来验证这一点。日志中不断弹出相同的警告。

使用ssh 命令登录时,一切似乎都正常。我仍然不知道这里发生了什么。有什么想法吗?

PS:我还在 Deployer 的 GIT 存储库中创建了一个问题:https://github.com/deployphp/deployer/issues/1507

【问题讨论】:

  • 我不清楚这里的实际问题是什么。错误消息似乎很清楚,它表示某个 SSH 密钥文件不存在。文件真的存在吗?它是否应该存在,并且 ssh 是否应该使用该密钥文件?还是 ssh 应该从其他地方获取 ssh 密钥?
  • 我很抱歉。我忘了提到这个密钥确实存在并且它应该存在。例如,部署者需要此密钥在我的 git 存储库所在的服务器上进行身份验证。

标签: ssh php-deployer


【解决方案1】:

我对您所说的库没有经验,但问题从这里开始:

Warning: Identity file /home/user/.ssh/id_rsa not accessible: No such file or directory.  

所以让我们专注于这一点。我能想到的可能的事情:

  1. 用户名真的是user吗?它说该文件位于:/home/user。验证那确实是正确的路径。例如,只需 ls 文件。如果不存在,会报错:

    $ ls /home/user/.ssh/id_rsa

如果No such file or directory 不存在,它将抛出它。

  1. 如果 1. 不是问题,那么很可能是用户问题,即 Docker 容器中用户的权限错误。如果这是问题所在,那么在 Docker 容器中,在需要之前更改 id_rsa 的权限:

    $ chmod 600 /home/user/.ssh/id_rsa
    Now do stuff with the key... 
    

许多 SSH 代理将无法工作,除非密钥只能由尝试运行 ssh 代理的用户读写访问。在这种情况下,这是 Docker 容器内的用户。

【讨论】:

    猜你喜欢
    • 2021-03-03
    • 2017-10-08
    • 1970-01-01
    • 1970-01-01
    • 2022-11-10
    • 1970-01-01
    • 1970-01-01
    • 2021-01-09
    相关资源
    最近更新 更多