git clone over https 401错误,而不是要求用户名或密码

时间:2011-04-26 20:39:36

标签: git ubuntu https

我在Codaset上有一个私有的git存储库。通常当我尝试在我的Windows机器上通过HTTPS克隆它时,它会询问我的用户名和密码。当我尝试在Ubuntu服务器上克隆它时,它从不要求我输入用户名或密码,它失败并出现401错误。我需要做些什么不同的事情?

这是我正在做的事情:

git clone https://codaset.com/username/project_name.git destination_folder_name.git

3 个答案:

答案 0 :(得分:16)

我使用这种格式让它工作:

https://username:password@codaset.com/username/project_name.git destination_folder

但是根据这两篇帖子,使用该方法可能是一个安全问题:

Can a username and password be sent safely over HTTPS via URL parameters?

Username and password in https url

答案 1 :(得分:12)

为了避免必须输入密码(在Windows或Unix上),您可以:

  • 检查HOME是否已定义(在Windows上,默认情况下不是)
  • 使用以下内容设置_netrc文件:
    machine codaset.com
    login your_codaset_login
    password your_codaset_password

注意:Windows上为%HOME%\_netrc,Unix上为$HOME/.netrc

这样,当你克隆你的回购时,而不是输入:

 git clone https://username@codaset.com/username/project_name.git destination_folder_name.git

,您可以删除初始用户名:

git clone https://codaset.com/username/project_name.git destination_folder_name.git

您无需输入密码。


如果您不想在.netrc文件中的纯文本中放置凭据(尤其是密码),则可以加密netrc包含gpg 的文件:请参阅“Is there a way to skip password typing when using https:// github

答案 2 :(得分:8)

你可以这样做:

git clone https://username@codaset.com/username/project_name.git destination_folder_name.git

提示输入密码。