Когда люди загружают код через git, они обычно используют http, который прост и удобен. Но осторожные дети наверняка заметили, что Git также поддерживает ssh. Многие люди, возможно, пробовали использовать этот метод, но он кажется не таким уж простым. Так что же такое SSH? Зачем использовать SSH?
Git поддерживает использование HTTPS и SSH для связи и передачи кода с удаленными репозиториями, и они отличаются в некоторых аспектах.
Аутентификация: HTTPS использует имя пользователя и пароль для аутентификации, а SSH использует аутентификацию с открытым ключом для установления безопасного соединения путем создания пары открытого и закрытого ключей. Скорость передачи: SSH обычно быстрее, чем HTTPS при передаче данных, поскольку SSH использует технологии сжатия и мультиплексирования. Безопасность: SSH более безопасен, чем HTTPS, поскольку SSH использует открытые и закрытые ключи для аутентификации и передает данные через зашифрованный туннель SSH.
Исходя из этой разницы, мы можем указать, что некоторые причины выбора использования SSH включают:
Высокие требования к безопасности: SSH использует пары ключей для аутентификации и шифрования передачи данных, что обеспечивает более высокий уровень безопасности и подходит для ситуаций, когда необходимо защитить конфиденциальность кода и передаваемых данных. Эффективность сжатия и передачи: SSH может сжимать, а затем передавать данные, уменьшая объем передаваемых данных и тем самым повышая эффективность передачи. Напротив, HTTP не выполняет сжатие во время передачи, что может привести к увеличению времени передачи. Удобное управление аутентификацией. При использовании SSH вы можете настроить пару ключей SSH на локальном компьютере для аутентификации, которой можно удобно управлять в нескольких удаленных репозиториях.
Конечно, некоторые говорят, что метод SSH не требует частого ввода пароля, но метод HTTP тоже можно реализовать через настройки. Строго говоря, это не является преимуществом.
Таким образом, в целом метод SSH относительно более безопасен и использует открытые и закрытые ключи для установления соединений, обеспечивая более высокие гарантии аутентификации и передачи данных. По сравнению с HTTP, SSH обычно имеет более высокую скорость передачи и лучшую производительность.
Итак, как нам использовать ssh для извлечения и отправки кода? Давайте возьмем в качестве примера машину Linux и платформу gitee, чтобы подробно представить весь процесс.
Сначала введите следующую команду на своем компьютере
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
your_email@example.com
Вам необходимо заполнитьgiteeилиgithubАдрес электронной почты, на который вы отправили код
Затем перейдите в каталог ~/.ssh/ и вы увидите два файла.
id_rsa
id_rsa.pub
id_rsa — это закрытый ключ, id_rsa.pub — это открытый ключ, а открытый ключ заполняется на сервере. Если он отправляется на gitee или github, вам необходимо настроить открытый ключ там, а закрытый ключ используется локально. .
Скопируйте общедоступное содержимое id_rsa, а затем откройте веб-сайт gitee.
Мы можем настроить отдельные склады или весь аккаунт.
Если вы настраиваете один склад, вы можете только клонировать его и извлечь код, но не сможете отправить код. Другими словами, у вас есть только разрешение на чтение и нет разрешения на запись.
Если вы настроите всю учетную запись, вы сможете не только клонировать и извлекать коды со всех складов, но также отправлять коды на все склады, имея не только права на чтение, но и права на запись.
Как показано на рисунке, откройте склад, который необходимо настроить, и откройте параметры управления справа.
Нажмите «Развернуть общедоступное управление» справа, нажмите «Добавить общедоступное».
Откройте интерфейс, чтобы добавить открытый ключ развертывания.,Публичное название может быть заполнено случайно.,Пожалуйста, заполните общедоступный контент ниже,Он создается на вашем собственном компьютере, как указано выше.id_rsa.pub
Содержимое файла
Затем на своем компьютере введите следующую команду, чтобы проверить успешность добавления.
[root@localhost note]# ssh -T git@gitee.com
Hi Anonymous (DeployKey)! You've successfully authenticated, but GITEE.COM does not provide shell access.
Note: Perhaps the current use is DeployKey.
Note: DeployKey only supports pull/fetch operations
Добавление открытого ключа в хранилище, указанное выше, может разрешить только чтение хранилища. Если вы хотите писать в хранилище, вам необходимо добавить личный открытый ключ, который также можно назвать открытым ключом учетной записи. Наведите указатель мыши на свою учетную запись в правом верхнем углу и выберите кнопку настроек.
Откройте интерфейс настроек и выберите открытый ключ SSH в настройках безопасности.
То же, что и настройка открытого ключа хранилища.,Публичное название может быть заполнено случайно.,Официальный контент,Просто заполните вышеуказанное и сгенерируйте его на своем компьютере.id_rsa.pub
Содержимое файла
Затем на своем компьютере введите следующую команду, чтобы проверить успешность добавления.,Вывод контента здесь отличается от приведенного выше.,Открытый ключ учетной записи выводит ваше собственное имя пользователя.
[root@localhost note]# ssh -T git@gitee.com
Hi 【Ваше имя пользователя】! You've successfully authenticated, but GITEE.COM does not provide shell access.
Наконец, вы можете использовать ssh для извлечения и отправки кода.