Tôi cho rằng HTTPS được GitHub khuyên dùng vì nhiều lý do
1) Sử dụng đơn giản hơn từ mọi nơi vì bạn chỉ cần chi tiết tài khoản của mình (không yêu cầu khóa SSH)
2) HTTPS Là một cổng được mở trong tất cả các tường lửa. SSH không phải lúc nào cũng mở như một cổng để liên lạc với các mạng bên ngoài
Do đó, kho GitHub có thể truy cập phổ biến hơn bằng HTTPS so với SSH.
Theo quan điểm của tôi, các khóa SSH đáng để làm thêm một chút trong việc tạo ra chúng
1) Khóa SSH không cung cấp quyền truy cập vào tài khoản GitHub của bạn, vì vậy tài khoản của bạn không thể bị xâm nhập nếu khóa của bạn bị đánh cắp,
2) Sử dụng cụm từ khóa mạnh với khóa SSH sẽ hạn chế mọi hành vi lạm dụng, ngay cả khi khóa của bạn bị đánh cắp
Nếu thông tin đăng nhập tài khoản GitHub (tên người dùng / mật khẩu) của bạn bị đánh cắp, mật khẩu GitHub của bạn có thể được thay đổi để chặn bạn truy cập và tất cả các kho lưu trữ được chia sẻ của bạn có thể nhanh chóng bị xóa.
Nếu khóa riêng bị đánh cắp, ai đó có thể đẩy mạnh kho lưu trữ trống và xóa sạch tất cả lịch sử thay đổi cho từng kho lưu trữ mà bạn sở hữu, nhưng không thể thay đổi bất cứ điều gì trong tài khoản GitHub của bạn. Sẽ dễ dàng hơn nhiều để thử phục hồi từ vi phạm này khi bạn có quyền truy cập vào tài khoản GitHub của mình.
Sở thích của tôi là sử dụng SSH với khóa được bảo vệ bằng mật khẩu. Tôi có một khóa SSH khác nhau cho mỗi máy tính, vì vậy nếu máy đó bị đánh cắp hoặc khóa bị xâm phạm, tôi có thể nhanh chóng đăng nhập vào GitHub và xóa khóa đó để ngăn truy cập không mong muốn.
SSH có thể được tạo đường hầm qua HTTPS nếu mạng bạn đang chặn cổng SSH.
https://help.github.com/articles/USE-ssh-over-the-https-port/
Nếu bạn sử dụng HTTPS, tôi khuyên bạn nên thêm xác thực hai yếu tố, để bảo vệ tài khoản cũng như kho lưu trữ của bạn.
Nếu bạn sử dụng HTTPS với một công cụ (ví dụ: trình chỉnh sửa), bạn nên sử dụng mã thông báo dành cho nhà phát triển từ tài khoản GitHub của mình thay vì lưu tên người dùng và mật khẩu trong cấu hình công cụ đó.