don't git clone over https! (beginner) anthony explains

Поділитися
Вставка
  • Опубліковано 22 гру 2022
  • in today's video I talk about git cloning when you want to make a contribution and present the benefits of using an ssh key -- I also show how to set one up
    playlist: • anthony explains
    ==========
    twitch: / anthonywritescode
    dicsord: / discord
    twitter: / codewithanthony
    github: github.com/asottile
    stream github: github.com/anthonywritescode
    I won't ask for subscriptions / likes / comments in videos but it really helps the channel. If you have any suggestions or things you'd like to see please comment below!
  • Наука та технологія

КОМЕНТАРІ • 39

  • @michalroesler
    @michalroesler 9 місяців тому +1

    That tutorial worked for me. It's awesome and very professional.

  • @hamzasayyid8152
    @hamzasayyid8152 Рік тому +9

    I'm not really tech savvy, but I don't have to sign in everytime using https. Must have stored the username and password somewhere. Although, these days I use the github cli, so I don't know if that matters

  • @MartinFiala-vw6pd
    @MartinFiala-vw6pd 2 місяці тому +1

    Short and working. Great stuff! Thanks.

  • @hemanth8169
    @hemanth8169 16 днів тому

    Thank you! This was very helpful for me.

  • @OrCarmi
    @OrCarmi Рік тому +5

    Thanks for this.
    Would you recommend ssh keys over api tokens as well?

    • @Jason-jb1tf
      @Jason-jb1tf Рік тому +10

      As a security engineer, I would recommend ssh keys over PATs in nearly every case. GitHub did release finer scoped PATs recently, which reduces some of the risk of PATs, but ssh keys are ideal for pushing/pulling IMO since they can't be used to authenticate you to other parts of GitHub if stolen - they can only be used for pushing and pulling.

    • @OrCarmi
      @OrCarmi Рік тому

      @user-lg8ev3yb5w thanks for the explanation!

  • @xscorp382
    @xscorp382 Рік тому +2

    Git also provides using access tokens instead. So if you don't wanna use your password to git, you can use that access token in place of your password. And what is better is that you can confine the access rights for that token. So even if somebody steals your access token, he would only be able to do things that the access token was allowed you do while compromise of SSH keys might lead to havoc.

    • @anthonywritescode
      @anthonywritescode  Рік тому +3

      access tokens give more power than ssh tokens. also you're specifically talking about github

  • @Daloshka
    @Daloshka 2 місяці тому

    nice explaining

  • @mrswats
    @mrswats Рік тому +2

    Oookay, time to rotate my ssh keys.
    Would you recommend storing ssh key pairs in a password manager?

    • @anthonywritescode
      @anthonywritescode  Рік тому +3

      you probably could! I currently don't but maybe I should

    •  Рік тому

      I think you should. I use KeePass + KeeAgent for that.

  • @drz1
    @drz1 Рік тому

    Newbie question here about encryption, so since you gave GitHub your public key, does that mean that they can publicly share that repo encrypted with your public key and since you have the private key you're the only one who can decrypt that information?
    What about the reverse to push? Is my understanding correct that GitHub would authenticate you when you successfully decrypt the first message sent you encrypted with your public key, hence permitting you to do pushes in the session?

    • @anthonywritescode
      @anthonywritescode  Рік тому

      it's soooorta like that -- though usually the public / private key part is only used at the beginning -- then a symmetric key is agreed upon and used from there on

    • @drz1
      @drz1 Рік тому

      @@anthonywritescode makes total sense, thank you!

  • @santidelgado8088
    @santidelgado8088 21 день тому

    thanks man I lov u

  • @evadeflow
    @evadeflow Рік тому +9

    I wish I could take your advice-which I agree with-but my corporate overlords have a strict, MITM authenticating HTTP proxy between us employees and the Interwebs, so… cloning via HTTPS is the only option. I’m guessing that’s why GitHub suggests the HTTPS url by default: if you’re able to view the page at all, HTTPS will Just Work™, whereas SSH might not for unlucky folks like me. 🫤

    • @anthonywritescode
      @anthonywritescode  Рік тому +13

      sounds like it's time to find a new job lmao

    • @Tobinsvids
      @Tobinsvids Рік тому +4

      Or use a Personal Access Token (PAT) and give it the permissions you want it to have

    • @evadeflow
      @evadeflow Рік тому +2

      @@Tobinsvids: Oh-I _do_ use a PAT when cloning one of ‘my’ repos via HTTPS. (IIRC, this is _required_ now because GitHub no longer allows password authentication.)

    • @d3stinYwOw
      @d3stinYwOw Рік тому +1

      @@anthonywritescode It's a universal issue between corporations it seems - in mine as well we have MITM proxy and more hoops, connecting to Azure AD and more. Tragedy. They DISABLED ssh for Azure repos, but keeps it enabled for on-prem bitbucket and gitlab...
      Changing workplace won't always work, all depends what's happening in life etc. I will definitely try to move to PATs, but they expire them little too aggresively, at least for Azure CI thingie.

  • @guntbert9709
    @guntbert9709 Рік тому

    I've been using ssh keys for a Very Long Time™ but never thought of using a naked ssh-add ;-)

  • @almostprofessionalrecords6651
    @almostprofessionalrecords6651 Рік тому +2

    I used https and it stored my password somewhere, typed it only once months ago and it still works

    • @anthonywritescode
      @anthonywritescode  Рік тому +1

      "somewhere" -- and the password that gives full access to your account?

    • @almostprofessionalrecords6651
      @almostprofessionalrecords6651 Рік тому +4

      @@anthonywritescode `git config --get credential.helper` gives me `osxkeychain`. If something can read my password from there, then I guess it can also read my private ssh keys. What is the difference?

    •  Рік тому

      You can also save your password in a file that's r/w for your user only. 🤷‍♂️ And never type your password again 🤷‍♂️

    • @anthonywritescode
      @anthonywritescode  Рік тому +3

      ssh keys don't give full access to your entire account

    •  Рік тому +2

      @@anthonywritescode you don't have to use a password in the credential, API key with push access only also works

  • @VijayJaisankar
    @VijayJaisankar Рік тому +1

    Thanks for this video! It not HTTPS, how would we clone a repo into a docker container?

    • @anthonywritescode
      @anthonywritescode  Рік тому +5

      in readonly scenarios https is fine, this is more about doing work on things

    • @VijayJaisankar
      @VijayJaisankar Рік тому

      @@anthonywritescode Awesome, thanks for the clarification :)

  • @Phaust94
    @Phaust94 Рік тому +2

    Good luck doing that on Windows as a beginner :)

    • @anthonywritescode
      @anthonywritescode  Рік тому +5

      I had someone in my chat verify that the same commands work on windows (I also checked there)

    • @Phaust94
      @Phaust94 Рік тому

      I mean, there's too much jumping through the hoops to install the ssh client on Windows, to my taste. At least it's not git-secret though.

    • @anthonywritescode
      @anthonywritescode  Рік тому +2

      ssh is available out of the box on modern windows

    • @Phaust94
      @Phaust94 Рік тому

      Really? I remember the good ol days of installing Putty and whatnot to make it work. I guess I'm that old. Good to know :)

    • @fabtjar
      @fabtjar Рік тому

      I hardly use windows and the same commands work fine for me