为什么我的部署用户不使用我的 ssh 密钥?

Why won't my deploy user use my ssh key?

我正在尝试修复 ssh 密钥错误,以便使用我的 RoR Capistrano 3.3.5 项目为部署用户工作。我有一个 ubuntu 14.04 服务器,它已授权我的 public ssh 密钥。

如果我输入 ssh root@server-address.com 我的 ssh 密钥有效,我会立即登录到我的服务器。

如果我输入 ssh deploy@server-address.com,系统会提示我输入密码。

我需要部署用户使用相同的密钥并在没有密码的情况下进行身份验证。怎么了?我该如何着手实现这一目标?

感谢您提供的任何帮助,谢谢!

您需要将 public 密钥添加到位于服务器 /home/deploy/.ssh/authorized_keys 的部署用户的 authorized_keys 文件中。

cat ~/.ssh/id_rsa.pub | ssh user@machine "mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys"

此命令适用于新服务器设置。