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
命令然后我可以轻松地拉和推现在