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

sti*_*g_1 14 git ubuntu https

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

这是我在做的事情:

git clone https://codaset.com/username/project_name.git destination_folder_name.git
Run Code Online (Sandbox Code Playgroud)

sti*_*g_1 18

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

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

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

可以通过URL参数通过HTTPS安全地发送用户名和密码吗?

https网址中的用户名和密码


Von*_*onC 12

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

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

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

这样,当您克隆您的仓库时,而不是键入:

 git clone https://username@codaset.com/username/project_name.git destination_folder_name.git
Run Code Online (Sandbox Code Playgroud)

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

git clone https://codaset.com/username/project_name.git destination_folder_name.git
Run Code Online (Sandbox Code Playgroud)

而且您不必输入密码.


如果您不想将您的凭据(特别是密码)以明文形式放入.netrc文件中,则可以使用以下命令加密该netrc文件gpg:请参阅" 使用https:// github时是否有办法跳过密码输入 "


man*_*lds 10

你可以做:

git clone https://username@codaset.com/username/project_name.git destination_folder_name.git
Run Code Online (Sandbox Code Playgroud)

使其提示输入密码.