<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>The Code Wanderer - terminal</title>
    <subtitle>Wandering through OpenBSD, privacy, security, programming, and data science. Powered by open source.</subtitle>
    <link rel="self" type="application/atom+xml" href="https://hervyqa.srht.site/categories/terminal/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://hervyqa.srht.site"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2026-06-09T00:00:00+00:00</updated>
    <id>https://hervyqa.srht.site/categories/terminal/atom.xml</id>
    <entry xml:lang="en">
        <title>Configuring GPG &amp; OpenSSH for Git on OpenBSD</title>
        <published>2024-06-19T00:00:00+00:00</published>
        <updated>2026-06-09T00:00:00+00:00</updated>
        
        <author>
          <name>
            Hervy Qurrotul
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://hervyqa.srht.site/blog/configuring-gpg-openssh-for-git/"/>
        <id>https://hervyqa.srht.site/blog/configuring-gpg-openssh-for-git/</id>
        
        <content type="html" xml:base="https://hervyqa.srht.site/blog/configuring-gpg-openssh-for-git/">&lt;p&gt;

&lt;a href=&quot;https:&#x2F;&#x2F;gnupg.org&quot;&gt;GnuPG&lt;&#x2F;a&gt; (The GNU Privacy Guard) is one of the standards that
implements OpenPGP as defined by 

&lt;a href=&quot;https:&#x2F;&#x2F;www.ietf.org&#x2F;rfc&#x2F;rfc4880.txt&quot;&gt;rfc4880&lt;&#x2F;a&gt;. The purpose of
GnuPG is to encrypt and sign data and communications, as well as manage
system keys. 

&lt;a href=&quot;https:&#x2F;&#x2F;gnupg.org&quot;&gt;GnuPG&lt;&#x2F;a&gt; is also known as GPG, which refers to
&lt;code&gt;gpg&lt;&#x2F;code&gt; as a CLI tool that facilitates integration with other applications
and supports &lt;em&gt;Secure Socket Shell (SSH)&lt;&#x2F;em&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Since 1997, GnuPG has been one of the free software programs that
cares about user data privacy. GnuPG can be used freely, modified, and
distributed under the GPL license.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;benefits-of-using-gnupg-keys&quot;&gt;Benefits of using GnuPG keys&lt;a class=&quot;post-anchor&quot; href=&quot;#benefits-of-using-gnupg-keys&quot; aria-label=&quot;Anchor link for: benefits-of-using-gnupg-keys&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;By using GnuPG keys, users will get the following three benefits.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Data integrity&lt;&#x2F;strong&gt;: GnuPG keys ensure the integrity of digital content
by creating digital signatures. This allows users to verify that the
content has not been tampered with during transit or delivery.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Authentication&lt;&#x2F;strong&gt;: GnuPG keys provide a mechanism for authenticating
the source of digital content. Users can verify that the content
originates from a trusted and verified entity.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Secure communication&lt;&#x2F;strong&gt;: GnuPG keys facilitate secure communication
by enabling encryption. This ensures that only authorized parties can
access encrypted data.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;In addition, GnuPG is very useful when working with Git. To implement
it, users will enter a password into the pinentry or cli dialog for the
purpose of providing authentic authentication. Then the username will
appear in each commit with this command, which will show the digital
signature validation in each marker with &lt;code&gt;--gpg-sign&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #DCDCAA;&quot;&gt;git&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; commit&lt;&#x2F;span&gt;&lt;span style=&quot;color: #569CD6;&quot;&gt; --gpg-sign -m&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; &amp;quot;sign with gpg key&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #6A9955;&quot;&gt;# or&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #DCDCAA;&quot;&gt;git&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; commit&lt;&#x2F;span&gt;&lt;span style=&quot;color: #569CD6;&quot;&gt; -S -m&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; &amp;quot;sign with gpg key&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Once successful, users can view the digital signature on each commit
with the &lt;code&gt;--show-signature&lt;&#x2F;code&gt; parameter.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #DCDCAA;&quot;&gt;git&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; show 1af04a6001&lt;&#x2F;span&gt;&lt;span style=&quot;color: #569CD6;&quot;&gt; --show-signature&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #6A9955;&quot;&gt;         # ^ hash code&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;It will look like this.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;commit 1af04a60013c8df1b0107ef29755b70feca402da (HEAD -&amp;gt; main, sh&#x2F;main)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;gpg: Signature made Fri 14 Jun 2024 07:44:44 PM WIB&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;gpg:                using EDDSA key 5A131FCDDAC2876802F631D1D7B52C04D9B41849&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;gpg: Good signature from &amp;quot;Hervy Work Email (Test) &amp;lt;work@mail.org&amp;gt;&amp;quot; [ultimate]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Primary key fingerprint: 5A13 1FCD DAC2 8768 02F6  31D1 D7B5 2C04 D9B4 1849&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Author: Hervy Work Email &amp;lt;work@mail.org&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Date:   Fri Jun 14 19:44:44 2024 +0700&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Written &lt;code&gt;Good signature from&lt;&#x2F;code&gt; the original marker in the log header.
Using GnuPG, Git, and OpenSSH is highly recommended because they can
provide a written validation trail.&lt;&#x2F;p&gt;
&lt;p&gt;This article explains:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;hervyqa.srht.site&#x2F;blog&#x2F;configuring-gpg-openssh-for-git&#x2F;.&#x2F;#gnupg-key-configuration&quot;&gt;GnuPG Key Configuration&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;hervyqa.srht.site&#x2F;blog&#x2F;configuring-gpg-openssh-for-git&#x2F;.&#x2F;#ssh-key-configuration&quot;&gt;SSH Key Configuration&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;hervyqa.srht.site&#x2F;blog&#x2F;configuring-gpg-openssh-for-git&#x2F;.&#x2F;#git-configuration&quot;&gt;Git Configuration&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;This article was written using OpenBSD operating system, as the aim is
to narrow the scope of the discussion so that it does not spread to all
operating systems (the article could become pages long if written for
multiple OS). The second reason is that currently, no operating system
other than OpenBSD is installed.&lt;&#x2F;p&gt;
&lt;p&gt;However, please note that all the tools used in this article, including
GnuPG, OpenSSH, and Git, are &lt;em&gt;Open Source&lt;&#x2F;em&gt; and can therefore be used on
other operating systems such as Linux-based, Windows or MacOS. In this
explanation, you can skip to the steps you need.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;gnupg-key-configuration&quot;&gt;GnuPG Key Configuration&lt;a class=&quot;post-anchor&quot; href=&quot;#gnupg-key-configuration&quot; aria-label=&quot;Anchor link for: gnupg-key-configuration&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;installing-gnupg&quot;&gt;Installing GnuPG&lt;a class=&quot;post-anchor&quot; href=&quot;#installing-gnupg&quot; aria-label=&quot;Anchor link for: installing-gnupg&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;GnuPG can be installed on various operating systems. Users can choose
the guide based on the operating system they are currently using.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;openbsd&quot;&gt;OpenBSD&lt;a class=&quot;post-anchor&quot; href=&quot;#openbsd&quot; aria-label=&quot;Anchor link for: openbsd&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h4&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #DCDCAA;&quot;&gt;pkg_add&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; gnupg&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h4 id=&quot;freebsd&quot;&gt;FreeBSD&lt;a class=&quot;post-anchor&quot; href=&quot;#freebsd&quot; aria-label=&quot;Anchor link for: freebsd&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h4&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #DCDCAA;&quot;&gt;pkg&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; install gnupg&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;checking-the-gnupg-version&quot;&gt;Checking the GnuPG version&lt;a class=&quot;post-anchor&quot; href=&quot;#checking-the-gnupg-version&quot; aria-label=&quot;Anchor link for: checking-the-gnupg-version&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;The first thing to do after installing GnuPG is to check its version
with &lt;code&gt;gpg&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #DCDCAA;&quot;&gt;gpg&lt;&#x2F;span&gt;&lt;span style=&quot;color: #569CD6;&quot;&gt; --version&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;gpg (GnuPG) 2.4.5&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;libgcrypt 1.10.3&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Copyright (C) 2024 g10 Code GmbH&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;License GNU GPL-3.0-or-later &amp;lt;https:&#x2F;&#x2F;gnu.org&#x2F;licenses&#x2F;gpl.html&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;This is free software: you are free to change and redistribute it.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;There is NO WARRANTY, to the extent permitted by law.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Home: &#x2F;home&#x2F;hervyqa&#x2F;.gnupg&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Supported algorithms:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        CAMELLIA128, CAMELLIA192, CAMELLIA256&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Compression: Uncompressed, ZIP, ZLIB, BZIP2&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;For example, the version above uses version &lt;code&gt;2.4.5&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;creating-a-new-gnupg-key&quot;&gt;Creating a new GnuPG key&lt;a class=&quot;post-anchor&quot; href=&quot;#creating-a-new-gnupg-key&quot; aria-label=&quot;Anchor link for: creating-a-new-gnupg-key&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;If the version you are using is &lt;code&gt;2.1.17&lt;&#x2F;code&gt; or above, it is recommended to
use this terminal command.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #DCDCAA;&quot;&gt;gpg&lt;&#x2F;span&gt;&lt;span style=&quot;color: #569CD6;&quot;&gt; --full-generate-key&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Meanwhile, if the version is below &lt;code&gt;2.1.17&lt;&#x2F;code&gt;, use &lt;code&gt;--gen-key&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #DCDCAA;&quot;&gt;gpg&lt;&#x2F;span&gt;&lt;span style=&quot;color: #569CD6;&quot;&gt; --default-new-key-algo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; rsa4096&lt;&#x2F;span&gt;&lt;span style=&quot;color: #569CD6;&quot;&gt; --gen-key&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;selecting-a-key-algorithm&quot;&gt;Selecting a key algorithm&lt;a class=&quot;post-anchor&quot; href=&quot;#selecting-a-key-algorithm&quot; aria-label=&quot;Anchor link for: selecting-a-key-algorithm&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;After running the command, a selection of key algorithm types to use
will appear.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;gpg (GnuPG) 2.4.5; Copyright (C) 2024 g10 Code GmbH&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;This is free software: you are free to change and redistribute it.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;There is NO WARRANTY, to the extent permitted by law.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;gpg: directory &amp;#39;&#x2F;home&#x2F;hervyqa&#x2F;.gnupg&amp;#39; created&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Please select what kind of key you want:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;   (1) RSA and RSA&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;   (2) DSA and Elgamal&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;   (3) DSA (sign only)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;   (4) RSA (sign only)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;   (9) ECC (sign and encrypt) *default*&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  (10) ECC (sign only)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  (14) Existing key from card&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Your selection?&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;There are several options: 1, 2, 3, 4, 9, 10, 14. Just press {{&amp;lt; kbd
Enter &amp;gt;}} to select number 9 &lt;code&gt;ECC (sign and encrypt)&lt;&#x2F;code&gt; as the default.&lt;&#x2F;p&gt;
&lt;p&gt;Next, select the type of elliptic curve to use.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Please select which elliptic curve you want:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;   (1) Curve 25519 *default*&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;   (4) NIST P-384&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;   (6) Brainpool P-256&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Your selection?&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Press &lt;kbd&gt;enter&lt;&#x2F;kbd&gt; to select number 1 &lt;code&gt;Curve 25519&lt;&#x2F;code&gt; as the
default.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;selecting-the-gnupg-key-expiration-time-limit&quot;&gt;Selecting the GnuPG key expiration time limit&lt;a class=&quot;post-anchor&quot; href=&quot;#selecting-the-gnupg-key-expiration-time-limit&quot; aria-label=&quot;Anchor link for: selecting-the-gnupg-key-expiration-time-limit&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;Next, select the key expiration time. It is recommended to select 0 to
choose no expiration time.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Please specify how long the key should be valid.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;         0 = key does not expire&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      &amp;lt;n&amp;gt;  = key expires in n days&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      &amp;lt;n&amp;gt;w = key expires in n weeks&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      &amp;lt;n&amp;gt;m = key expires in n months&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      &amp;lt;n&amp;gt;y = key expires in n years&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Select &lt;kbd&gt;0&lt;&#x2F;kbd&gt; to choose number 0 &lt;code&gt;key does not expire&lt;&#x2F;code&gt; and
select &lt;kbd&gt;y&lt;&#x2F;kbd&gt; to confirm.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Key is valid for? (0)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Key does not expire at all&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Is this correct? (y&#x2F;N)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;enter-gnupg-user-data&quot;&gt;Enter GnuPG user data&lt;a class=&quot;post-anchor&quot; href=&quot;#enter-gnupg-user-data&quot; aria-label=&quot;Anchor link for: enter-gnupg-user-data&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;Next, enter the user’s GnuPG data. Enter the name, email address, and
comments. For example:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Real name: Hervy Work Email&lt;&#x2F;li&gt;
&lt;li&gt;Email address: &lt;a href=&quot;mailto:work@mail.org&quot;&gt;work@mail.org&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Comments: Test&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Real name: Hervy Work Email&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Email address: worka@mail.org&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Comment: Test&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;The result of the GnuPG key user data will look like this.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;You selected this USER-ID:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &amp;quot;Hervy Work Email (Test) &amp;lt;work@mail.org&amp;gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;If you want to confirm, select &lt;kbd&gt;o&lt;&#x2F;kbd&gt; (okay).&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Change (N)ame, (C)omment, (E)mail or (O)kay&#x2F;(Q)uit? o&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Ensure that no errors appear in the terminal output. An example of
successful output is shown below.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;We need to generate a lot of random bytes. It is a good idea to perform&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;some other action (type on the keyboard, move the mouse, utilize the&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;disks) during the prime generation; this gives the random number&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;generator a better chance to gain enough entropy.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;We need to generate a lot of random bytes. It is a good idea to perform&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;some other action (type on the keyboard, move the mouse, utilize the&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;disks) during the prime generation; this gives the random number&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;generator a better chance to gain enough entropy.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;gpg: &#x2F;home&#x2F;hervyqa&#x2F;.gnupg&#x2F;trustdb.gpg: trustdb created&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;gpg: directory &amp;#39;&#x2F;home&#x2F;hervyqa&#x2F;.gnupg&#x2F;openpgp-revocs.d&amp;#39; created&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;gpg: revocation certificate stored as &amp;#39;&#x2F;home&#x2F;hervyqa&#x2F;.gnupg&#x2F;openpgp-revocs.d&#x2F;5A131FCDDAC2876802F631D1D7B52C04D9B41849.rev&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;public and secret key created and signed.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;pub   ed25519 2024-06-06 [SC]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      5A131FCDDAC2876802F631D1D7B52C04D9B41849&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;uid                      Hervy Work Email (Test) &amp;lt;work@mail.org&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;sub   cv25519 2024-06-06 [E]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;viewing-gnupg-key-id&quot;&gt;Viewing GnuPG key ID&lt;a class=&quot;post-anchor&quot; href=&quot;#viewing-gnupg-key-id&quot; aria-label=&quot;Anchor link for: viewing-gnupg-key-id&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #DCDCAA;&quot;&gt;gpg&lt;&#x2F;span&gt;&lt;span style=&quot;color: #569CD6;&quot;&gt; --list-secret-keys --keyid-format&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; long&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&#x2F;home&#x2F;hervyqa&#x2F;.gnupg&#x2F;pubring.kbx&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;--------------------------------&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;sec   ed25519&#x2F;D7B52C04D9B41849 2024-06-06 [SC]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      Key fingerprint = 5A13 1FCD DAC2 8768 02F6  31D1 D7B5 2C04 D9B4 1849&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;uid                 [ultimate] Hervy Work Email (Test) &amp;lt;work@mail.org&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;ssb   cv25519&#x2F;1CC5EEC8BDE8BC06 2024-06-06 [E]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;It should be noted that the user keys are:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;ID key = &lt;strong&gt;D7B52C04D9B41849&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Fingerprint key = &lt;strong&gt;5A13 1FCD DAC2 8768 02F6 31D1 D7B5 2C04 D9B4 1849&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;The GnuPG ID key can be integrated into the OpenSSH settings in the next step.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;ssh-key-configuration&quot;&gt;SSH Key Configuration&lt;a class=&quot;post-anchor&quot; href=&quot;#ssh-key-configuration&quot; aria-label=&quot;Anchor link for: ssh-key-configuration&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;

&lt;a href=&quot;https:&#x2F;&#x2F;openssh.org&quot;&gt;OpenSSH&lt;&#x2F;a&gt; (OpenBSD Secure Shell) is a tool for securing
network protocols based on &lt;em&gt;Secure Socket Shell&lt;&#x2F;em&gt;. OpenSSH is integrated
with several operating systems such as BSD, Windows, macOS, and most
Linux distributions.&lt;&#x2F;p&gt;
&lt;p&gt;SSH has several contexts, including:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Refers to the &lt;strong&gt;Secure Socket Shell&lt;&#x2F;strong&gt; network protocol.&lt;&#x2F;li&gt;
&lt;li&gt;Refers to the &lt;strong&gt;OpenSSH&lt;&#x2F;strong&gt; software.&lt;&#x2F;li&gt;
&lt;li&gt;Refers to a commercial company called 

&lt;a href=&quot;https:&#x2F;&#x2F;www.ssh.com&quot;&gt;SSH.com&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;For clarification, this article uses two contexts, namely numbers 1
and 2. Number 3 is not possible because it is not the subject of this
article and is not a technical matter. To be clear, this article only
uses these two contexts.&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;SSH as a network protocol, which refers to &lt;strong&gt;Secure Socket Shell&lt;&#x2F;strong&gt;.
Therefore, &lt;strong&gt;SSH keys&lt;&#x2F;strong&gt; refer to the authentication keys used for the
SSH network protocol.&lt;&#x2F;li&gt;
&lt;li&gt;The software that can manage, run, and generate SSH keys is
&lt;strong&gt;OpenSSH&lt;&#x2F;strong&gt; software.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h3 id=&quot;installing-openssh&quot;&gt;Installing OpenSSH&lt;a class=&quot;post-anchor&quot; href=&quot;#installing-openssh&quot; aria-label=&quot;Anchor link for: installing-openssh&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;Similar to GnuPG, &lt;strong&gt;OpenSSH&lt;&#x2F;strong&gt; can be installed on any platform,
especially BSD or linux-based.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;openbsd-1&quot;&gt;OpenBSD&lt;a class=&quot;post-anchor&quot; href=&quot;#openbsd-1&quot; aria-label=&quot;Anchor link for: openbsd-1&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h4&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #DCDCAA;&quot;&gt;pkg_add&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; openssh&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h4 id=&quot;freebsd-1&quot;&gt;FreeBSD&lt;a class=&quot;post-anchor&quot; href=&quot;#freebsd-1&quot; aria-label=&quot;Anchor link for: freebsd-1&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h4&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #DCDCAA;&quot;&gt;pkg&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; install openssh&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;checking-the-openssh-version&quot;&gt;Checking the OpenSSH version&lt;a class=&quot;post-anchor&quot; href=&quot;#checking-the-openssh-version&quot; aria-label=&quot;Anchor link for: checking-the-openssh-version&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;Each operating system may have a different version of OpenSSH. Users can
view the Git version with this command.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #DCDCAA;&quot;&gt;ssh&lt;&#x2F;span&gt;&lt;span style=&quot;color: #569CD6;&quot;&gt; -V&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;OpenSSH_9.7p1, OpenSSL 3.0.13 30 Jan 2024&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;For example, the version above uses version &lt;code&gt;9.7p1&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;checking-ssh-keys&quot;&gt;Checking SSH Keys&lt;a class=&quot;post-anchor&quot; href=&quot;#checking-ssh-keys&quot; aria-label=&quot;Anchor link for: checking-ssh-keys&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;SSH keys are used for remote control authentication. They are most
commonly used to log in to git forges such as sourcehut, github, or
gitlab.&lt;&#x2F;p&gt;
&lt;p&gt;Before configuring, make sure there are no SSH keys in the &lt;code&gt;~&#x2F;.ssh&lt;&#x2F;code&gt;
directory. You can check this with the following terminal command.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #DCDCAA;&quot;&gt;ls&lt;&#x2F;span&gt;&lt;span style=&quot;color: #569CD6;&quot;&gt; -al&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; ~&#x2F;.ssh&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Permissions Size User    Date Modified Name&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;.rw-------   203 hervyqa 21 Mar 07:09  config&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;.rw-------   464 hervyqa 21 Mar 07:09  id_ed25519&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;.rw-------    99 hervyqa 21 Mar 07:09  id_ed25519.pub&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;.rw-------  3.6k hervyqa 21 Mar 07:09  known_hosts&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Generally, there are three types of public key files:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;id_rsa.pub&lt;&#x2F;li&gt;
&lt;li&gt;id_ecdsa.pub&lt;&#x2F;li&gt;
&lt;li&gt;id_ed25519.pub&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;If it is still empty, you can proceed to the next step to create a new
SSH key.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;creating-a-new-ssh-key&quot;&gt;Creating a new SSH key&lt;a class=&quot;post-anchor&quot; href=&quot;#creating-a-new-ssh-key&quot; aria-label=&quot;Anchor link for: creating-a-new-ssh-key&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #DCDCAA;&quot;&gt;ssh-keygen&lt;&#x2F;span&gt;&lt;span style=&quot;color: #569CD6;&quot;&gt; -t&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; ed25519&lt;&#x2F;span&gt;&lt;span style=&quot;color: #569CD6;&quot;&gt; -C&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; &amp;quot;work@mail.com&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;If it doesn’t work, and you get an &lt;code&gt;invalid format&lt;&#x2F;code&gt; or &lt;code&gt;feature not supported&lt;&#x2F;code&gt; error, then there is hardware security that requires the use
of the &lt;code&gt;ecdsa-sk&lt;&#x2F;code&gt; algorithm.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #DCDCAA;&quot;&gt;ssh-keygen&lt;&#x2F;span&gt;&lt;span style=&quot;color: #569CD6;&quot;&gt; -t&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; ecdsa-sk&lt;&#x2F;span&gt;&lt;span style=&quot;color: #569CD6;&quot;&gt; -C&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; &amp;quot;work@mail.com&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Just press &lt;kbd&gt;enter&lt;&#x2F;kbd&gt; to select the default directory location.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Generating public&#x2F;private ed25519 key pair.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Enter file in which to save the key (&#x2F;home&#x2F;hervyqa&#x2F;.ssh&#x2F;id_ed25519): (ENTER)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Created directory &amp;#39;&#x2F;home&#x2F;hervyqa&#x2F;.ssh&amp;#39;.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Next, enter the user’s secret password.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Enter passphrase (empty for no passphrase):&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Enter same passphrase again:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;If successful, the output will look like this.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Your identification has been saved in &#x2F;home&#x2F;hervyqa&#x2F;.ssh&#x2F;id_ed25519&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Your public key has been saved in &#x2F;home&#x2F;hervyqa&#x2F;.ssh&#x2F;id_ed25519.pub&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;The key fingerprint is:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;SHA256:KUfzOkl2FyOf5&#x2F;30nIEH60jrdNV2HafUCl8fdjgVBL8 work@mail.com&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;The key&amp;#39;s randomart image is:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;+--[ED25519 256]--+&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;|             .ooo|&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;|              .+ |&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;|        o . + +==|&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;|       . + o B.=X|&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;|      . S o +.=E*|&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;|       = + . o=o.|&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;|        +  o +.oo|&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;|         .o = .o=|&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;|          .+ . .+|&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;+----[SHA256]-----+&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Please note, based on the output above, there are two files that you
need to know about:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;The private&#x2F;secret key is located at: &lt;code&gt;~&#x2F;.ssh&#x2F;id_ed25519&lt;&#x2F;code&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;The public key is located at: &lt;code&gt;~&#x2F;.ssh&#x2F;id_ed25519.pub&lt;&#x2F;code&gt;.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;The key that can be shared is &lt;code&gt;id_ed25519.pub&lt;&#x2F;code&gt; because it is public.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;changing-the-ssh-email&quot;&gt;Changing the SSH Email&lt;a class=&quot;post-anchor&quot; href=&quot;#changing-the-ssh-email&quot; aria-label=&quot;Anchor link for: changing-the-ssh-email&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;If you want to change the old SSH email name, you can use the following
command.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #DCDCAA;&quot;&gt;ssh-keygen&lt;&#x2F;span&gt;&lt;span style=&quot;color: #569CD6;&quot;&gt; -c -f&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; ~&#x2F;.ssh&#x2F;id_ed25519&lt;&#x2F;span&gt;&lt;span style=&quot;color: #569CD6;&quot;&gt; -C&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; &amp;quot;newusername@mail.com&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-c&lt;&#x2F;code&gt; replaces the comment in the private and public keys.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;-f&lt;&#x2F;code&gt; is the name of the private key file.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;-C&lt;&#x2F;code&gt; is the comment name of the generated key.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;adding-ssh-keys-to-ssh-agent&quot;&gt;Adding SSH Keys to ssh-agent&lt;a class=&quot;post-anchor&quot; href=&quot;#adding-ssh-keys-to-ssh-agent&quot; aria-label=&quot;Anchor link for: adding-ssh-keys-to-ssh-agent&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;By adding SSH keys to &lt;code&gt;ssh-agent&lt;&#x2F;code&gt;, if you are working with
&lt;code&gt;git&lt;&#x2F;code&gt;&#x2F;&lt;code&gt;gitui&lt;&#x2F;code&gt;&#x2F;&lt;code&gt;lazygit&lt;&#x2F;code&gt; in a terminal environment, you only need to
enter your password once. When &lt;code&gt;git push&lt;&#x2F;code&gt;&#x2F;&lt;code&gt;git pull&lt;&#x2F;code&gt; with SSH, the
command will be executed directly without entering a password in the
future. Therefore, &lt;code&gt;ssh-agent&lt;&#x2F;code&gt; is very useful and convenient for users.&lt;&#x2F;p&gt;
&lt;p&gt;The following is the command to run ssh-agent in the background.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #DCDCAA;&quot;&gt;eval&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; &amp;quot;$(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #DCDCAA;&quot;&gt;ssh-agent&lt;&#x2F;span&gt;&lt;span style=&quot;color: #569CD6;&quot;&gt; -s&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt;)&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Then add the private key with ssh-add.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #DCDCAA;&quot;&gt;ssh-add&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; ~&#x2F;.ssh&#x2F;id_ed25519&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h2 id=&quot;git-configuration&quot;&gt;Git Configuration&lt;a class=&quot;post-anchor&quot; href=&quot;#git-configuration&quot; aria-label=&quot;Anchor link for: git-configuration&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;installing-git&quot;&gt;Installing Git&lt;a class=&quot;post-anchor&quot; href=&quot;#installing-git&quot; aria-label=&quot;Anchor link for: installing-git&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;Git can also be installed on any platform, especially BSD.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;openbsd-2&quot;&gt;OpenBSD&lt;a class=&quot;post-anchor&quot; href=&quot;#openbsd-2&quot; aria-label=&quot;Anchor link for: openbsd-2&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h4&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #DCDCAA;&quot;&gt;pkg_add&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; git&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h4 id=&quot;freebsd-2&quot;&gt;FreeBSD&lt;a class=&quot;post-anchor&quot; href=&quot;#freebsd-2&quot; aria-label=&quot;Anchor link for: freebsd-2&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h4&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #DCDCAA;&quot;&gt;pkg&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; install git&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;checking-the-git-version&quot;&gt;Checking the Git version&lt;a class=&quot;post-anchor&quot; href=&quot;#checking-the-git-version&quot; aria-label=&quot;Anchor link for: checking-the-git-version&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;Each operating system may have a different Git version. Users can view
the Git version with this command.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #DCDCAA;&quot;&gt;git&lt;&#x2F;span&gt;&lt;span style=&quot;color: #569CD6;&quot;&gt; --version&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;git version 2.44.1&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;For example, the version above uses version &lt;code&gt;2.44.1&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;adding-username-and-email&quot;&gt;Adding Username and Email&lt;a class=&quot;post-anchor&quot; href=&quot;#adding-username-and-email&quot; aria-label=&quot;Anchor link for: adding-username-and-email&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;Add an active username and email. The username uses a name from a git
forge account such as Sourehut, Github, Gitlab, Codeberg, or others. For
example, we will use &lt;code&gt;hervyqa&lt;&#x2F;code&gt; and &lt;code&gt;work@mail.com&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #DCDCAA;&quot;&gt;git&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; config&lt;&#x2F;span&gt;&lt;span style=&quot;color: #569CD6;&quot;&gt; --global&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; user.name &amp;#39;hervyqa&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #DCDCAA;&quot;&gt;git&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; config&lt;&#x2F;span&gt;&lt;span style=&quot;color: #569CD6;&quot;&gt; --global&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; user.email &amp;#39;work@mail.org&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;adding-gnupg-key-id-to-git&quot;&gt;Adding GnuPG Key ID to Git&lt;a class=&quot;post-anchor&quot; href=&quot;#adding-gnupg-key-id-to-git&quot; aria-label=&quot;Anchor link for: adding-gnupg-key-id-to-git&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;Next, add the GnuPG key ID to the Git configuration. The ID can be found
in &lt;a href=&quot;https:&#x2F;&#x2F;hervyqa.srht.site&#x2F;blog&#x2F;configuring-gpg-openssh-for-git&#x2F;.&#x2F;#viewing-gnupg-key-id&quot;&gt;how to view GnuPG key ID&lt;&#x2F;a&gt; in the previous
step.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #DCDCAA;&quot;&gt;git&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; config&lt;&#x2F;span&gt;&lt;span style=&quot;color: #569CD6;&quot;&gt; --global&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; user.signingkey D7B52C04D9B41849&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;If you don’t want to add &lt;code&gt;--gpg-sign&lt;&#x2F;code&gt; manually, you can add this
configuration.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #DCDCAA;&quot;&gt;git&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; config&lt;&#x2F;span&gt;&lt;span style=&quot;color: #569CD6;&quot;&gt; --global&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; commit.gpgsign&lt;&#x2F;span&gt;&lt;span style=&quot;color: #569CD6;&quot;&gt; true&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;At the same time, if you want to create a tag without manually adding
&lt;code&gt;--gpg-sign&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #DCDCAA;&quot;&gt;git&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; config&lt;&#x2F;span&gt;&lt;span style=&quot;color: #569CD6;&quot;&gt; --global&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; tag.gpgsign&lt;&#x2F;span&gt;&lt;span style=&quot;color: #569CD6;&quot;&gt; true&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Additional settings to change the branch name from &lt;code&gt;master&lt;&#x2F;code&gt; to &lt;code&gt;main&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #DCDCAA;&quot;&gt;git&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; config&lt;&#x2F;span&gt;&lt;span style=&quot;color: #569CD6;&quot;&gt; --global&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; init.defaultBranch main&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;viewing-all-git-configurations&quot;&gt;Viewing All Git Configurations&lt;a class=&quot;post-anchor&quot; href=&quot;#viewing-all-git-configurations&quot; aria-label=&quot;Anchor link for: viewing-all-git-configurations&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;If you want to view the configurations that have been set previously,
you can use the command below.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #DCDCAA;&quot;&gt;git&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; config&lt;&#x2F;span&gt;&lt;span style=&quot;color: #569CD6;&quot;&gt; --global --list&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;The configuration can also be viewed in the &lt;code&gt;~&#x2F;.config&#x2F;git&lt;&#x2F;code&gt; directory.
The configuration looks something like this.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #DCDCAA;&quot;&gt;cat&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CE9178;&quot;&gt; ~&#x2F;.config&#x2F;git&#x2F;config&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;pre class=&quot;giallo&quot; style=&quot;color: #D4D4D4; background-color: #1E1E1E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[commit]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        gpgSign = true&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[init]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        defaultBranch = &amp;quot;main&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[tag]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        gpgSign = true&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[user]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        email = &amp;quot;work@mail.org&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        name = &amp;quot;Hervy Work Email&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        signingKey = &amp;quot;D7B52C04D9B41849&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h2 id=&quot;in-conclusion&quot;&gt;In conclusion&lt;a class=&quot;post-anchor&quot; href=&quot;#in-conclusion&quot; aria-label=&quot;Anchor link for: in-conclusion&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;Thus, the explanation above uses the CLI, which takes longer and is not
instantaneous. Users can use GUI (Client) software for managing GnuPG,
OpenSSH, and Git. However, that is not the purpose here. The hope is
that readers will understand the CLI process and commands so that they
can better understand the process. Of course, increasing literacy in
the use of OpenSSH and Git is very helpful for software development and
programming processes.&lt;&#x2F;p&gt;
</content>
        
    </entry>
</feed>
