簡體   English   中英

是否需要在 github 中設置 SSH-Key?

[英]Is setting SSH-Key in github necessary?

嗨,開發人員,我是 git 的新手,我對 GitHub 有一些疑問。 如果可能請回答。

  • Q1) 如果我的倉庫是公開的並且我沒有為我的帳戶設置ssh-key ,任何人都可以推送到我的倉庫嗎?
  • Q2) 使用 HTTPS url 進行推拉是否安全?
  • Q3) 為什么即使我沒有設置任何ssh-key ,git 也不要求進行身份驗證?
  • Q4) 我怎樣才能保護我的倉庫不被外人看到,這樣他們只能看到它而不能改變它?

回答主要問題的回答是“不,不是

關於其他問題:

  • Q1) 如果我的回購是公開的並且我沒有為我的帳戶設置 ssh-key,任何人都可以推送到我的回購嗎?

    • 不,如果您的存儲庫是公開的,每個人都可以clone它並在他的本地工作副本中處理它,但是除非您明確邀請他們(設置 - > 管理訪問 - > 邀請協作者)並且他們接受,否則沒有人可以在您的存儲庫上推送新提交邀請。

      如果他是您團隊的成員,並且您希望他直接處理您的項目(希望您共享一個工作流程以正確使用分支),您可以添加一個協作者。

      另一種協作方式是fork您的項目並通過pull request合並新功能/修復。 這是由外部合作者使用的。

  • Q2) 使用 HTTPS url 進行推拉是否安全?

    • 它是安全的。 主要區別在於,如果您使用帶有 HTTPS url 的遠程集,則每次需要遠程操作( pushpullfetch ......)時,您都需要傳遞您的憑據。

      您可以將憑據保存在Linux中的.git-credentials文件中(但您的密碼將存儲在未加密的文本文件中)或將它們存儲在Windows的憑據管理器中。

  • Q3) 為什么即使我沒有設置任何 ssh-key,git 也不要求認證?

    • 如果您正在執行clone ,則無需傳遞您的憑據,因為您的存儲庫是公開的。

      如果您正在執行push ,唯一的原因是您正在處理Windows並且您已經指定了一次憑據。 現在它們存儲在憑證管理器中(查看 Q2 的答案)。

  • Q4) 我怎樣才能保護我的倉庫不被外人看到,這樣他們只能看到它而不能改變它?

    • 除非您未經授權,否則人們無法更改它(查看 Q1 的答案)

Q1) 如果它是公開的並且我沒有為我的帳戶設置 ssh 密鑰,任何人都可以推送我的回購嗎? - 不,不是所有人都可以推送你的倉庫(這與 Github 相關)只有你,但是有些人可能會提出拉取請求。

Q2) 使用 Html url 進行推拉是否安全? - 它是安全的,在進行操作之前它仍然需要您的憑據。

Q3) 為什么即使我沒有設置任何 ssh-key,git 也不要求進行身份驗證? - 你只需要設置一次,我想你已經在你的情況下設置了全局 Git 配置。

Q4)如何保護我的回購形式,讓他們只能看到它而不能改變它? - 他們無法更改它,但如果他們看到它,他們可以復制並自行上傳。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM