Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将gitlab存储库克隆到新设备_Git_Ssh - Fatal编程技术网

将gitlab存储库克隆到新设备

将gitlab存储库克隆到新设备,git,ssh,Git,Ssh,我有一个gitlab存储库,我已经将很多文件推送到了它 我想把这些文件拉到一个新的谷歌计算引擎虚拟机 我用 git config --global user.name "MY NAME" git config --global user.email "MYEMAIL@gmail.com" 和类型: git clone git@gitlab.com/MYPROJECT.git 但我得到了一个错误: cloning into 'MYPROJECT'... permissions denied (

我有一个gitlab存储库,我已经将很多文件推送到了它

我想把这些文件拉到一个新的谷歌计算引擎虚拟机

我用

git config --global user.name "MY NAME"
git config --global user.email "MYEMAIL@gmail.com"
和类型:

git clone git@gitlab.com/MYPROJECT.git
但我得到了一个错误:

cloning into 'MYPROJECT'...
permissions denied (publickey).
fatal: Could not read from remote repository

Please make sure you have the correct access rights
and the repository exists.

我认为这与我的新设备缺少ssh密钥有关,但如何将其移动到当前只能通过命令行访问的设备上?

首先,请注意

git config --global user.name "MY NAME"
git config --global user.email "MYEMAIL@gmail.com"
…与“登录”或身份验证无关。这些只是Git用于将名称和电子邮件地址与您所做的提交关联的值

您正在使用ssh从远程存储库进行克隆(格式为
git@gitlab.com/git
是SSH存储库url的缩写形式。您正在得到的错误

permissions denied (publickey).
fatal: Could not read from remote repository
…表明,正如您所猜测的,您没有本地可用的适当ssh私钥。有几种方法可以解决此问题:

  • 使用类似于
    scp
    的方法将私钥复制到新主机
  • 使用“复制并粘贴”将私钥传输到新主机
  • 使用gitlab存储库的
    https
    URL(类似
    https://gitlab.com/USERNAME/PROJECTNAME.git
  • 在新主机上创建新的ssh密钥对,并使用复制和粘贴将公钥添加到github帐户

谢谢,我选择了第三个选项,只花了几秒钟,非常感谢。