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
Git 使用ssh访问存储库_Git_Ssh - Fatal编程技术网

Git 使用ssh访问存储库

Git 使用ssh访问存储库,git,ssh,Git,Ssh,昨天我发现了git这类东西的存在。我需要使用ssh访问远程存储库。我使用了命令$git clonegit@forest.com:stranger@gmail.com。但当我使用它时,它会说这是克隆,然后需要密码。虽然我在~/.ssh.com中有密钥和发布密钥,而且我还有一个配置文件,但看起来是这样的: Host forest User git HostName forest.com Port 22 IdentityFile ~/.ssh/<stranger@

昨天我发现了git这类东西的存在。我需要使用ssh访问远程存储库。我使用了命令
$git clonegit@forest.com:stranger@gmail.com
。但当我使用它时,它会说这是克隆,然后需要密码。虽然我在~/.ssh.com中有密钥和发布密钥,而且我还有一个配置文件,但看起来是这样的:

Host forest
    User git
    HostName forest.com
    Port 22
    IdentityFile ~/.ssh/<stranger@gmail.com>.key
宿主林
用户git
主机名forest.com
端口22
IdentityFile~/.ssh/.key

你能给我一个提示吗,我如何访问这个远程存储库,为什么我需要这个配置文件,我可以用它做什么?

由于你的密钥没有标准名称,你需要使用配置文件。
但确切的url是:

git clone forest:yourRepo
密钥“
forest
”引用了
~/.ssh/config
文件中的主机条目,它将为ssh提供正确的用户、主机名、端口和私钥文件

YourRepo
应该是要克隆的回购协议的名称或完整路径。
我怀疑您的回购协议名为
stranger@gmail.com


其他问题包括:

  • 配置文件的名称:
    无需扩展:
    ~/.ssh/config
    。ssh将忽略任何其他内容

  • 私钥的名称:
    我强烈建议避免使用其中的“
    @
    ”,并使用完整路径
    /home/myName/.ssh/myKey
    /home/myName/.ssh/myKey.pub
    (用于私钥和公钥)。
    然后,您的
    IdentityFile
    应该引用密钥,不带任何扩展名:
    /home/myName/.ssh/myKey
    :这是私有密钥(与公共密钥相反:
    /home/myName/.ssh/myKey.pub


当我这样做时,我会从ssh中得到以下信息:“没有与名称相关的地址”,然后是致命的“无法从存储库读取”@user3130843您的配置文件在正确的位置吗
~/.ssh/config
我在~/.ssh/config.txt和~/.ssh/config/config.txt的两个位置添加了它,以确保这是错误的吗?@user3130843我确认:不需要扩展:
~/.ssh/config
。ssh将忽略任何其他内容。所以不应该有任何其他问题?