Зачем нам нужны ssh-ключи в git?

 

ssh-ключи идентифицируют пользователя, который взаимодействует с удаленным репозиторием git.

Я знаю, что он должен шифровать соединение, но при загрузке на github это означает, что я делаю свой код общедоступным.

 

Не обязательно, что в github есть частные репозитории. Кроме того, есть и другие хостинг-провайдеры.

Почему идут все эти неприятности в cmd.

 

С помощью ssh-аутентификации вам не нужно вводить свои учетные данные при взаимодействии с пультом дистанционного управления.