在 git 中使用 authorized_keys

在 git 中使用 authorized_keys

ssh-copy-id我已通过命令将 ssh 密钥从我的根帐户转移到我的用户帐户

现在我的 .ssh 文件夹中有这些文件

user@user-php:~/.ssh$ ls
authorized_keys  config  id_rsa  id_rsa.pub  known_hosts

现在,当我想克隆一个项目并且实际上公钥在authorized_keys文件中时,它给了我错误

user@user-php:/var/www/ts$ git clone [email protected]:/xxxx.git
Cloning into 'xxxx'...
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

它不是从 authorized_keys 获取公钥

现在为什么它没有拾取公钥并且有什么方法可以告诉 git 使用哪个公钥。

编辑:我还尝试了另一件事,我已将所有密钥从 root/.ssh 文件夹复制到 user/.ssh,但仍然出现Permission denied (publickey).错误

答案1

您需要根据服务器上安装的 OpenSSH 版本将id_rsa.pub内容添加到文件中。authorized_keys

如果authorized_keys不存在,则创建它。

另外,请确保您正确复制了公钥。我会id_rsa.pub通过 SFTP 将我的密钥传输到服务器,然后在服务器上(如果可能,通过 SSH)运行:

cat id_rsa.pub >> ~/.ssh/authorized_keys

答案2

抱歉,经过一番搜索,我发现要从 git 推送和拉取数据,你需要一个公钥的私钥,该公钥保存在服务器上。所以我将私钥复制到文件夹中.ssh,然后将其添加ssh-agent

ssh-add命令然后我可以轻松地拉和推现在

相关内容