GitHub clone repository by ssh setting

in linux system

Adrien Guo
1 min readJun 16, 2022

Generating a new SSH key

$ ssh-keygen -t ed25519 -C "your_email@gmail.com"

預設會儲存在 /home/user/.ssh/

Adding your SSH key to the ssh-agent

接著下這個 command

$ ssh-add ~/.ssh/id_ed25519 

應該是跟系統的設置有關係,讓你的 private key 可以被系統認可。

Adding a new SSH key to your GitHub account

最後一步是要去你自己的 GitHub,將 public key 輸入到 GitHub 儲存 SSH keys 的地方 (去 Settings → 選 SSH and GPG keys),然後將 public key 的內容貼到這裡,就大功告成。

可以使用 ssh 來 clone repository 了!!

酷炫的進階操作

當上面的步驟都做完之後,會發現你的 .ssh/ 裏面有 id_ed25519, id_ed25519.pub 這兩個檔案,看了就覺得礙眼 而且名稱很醜 xd。首先,他們的檔案名稱是可以更改的,這很合理;第二點,就是如果你有很多金鑰的話 其實電腦並不知道你是使用哪一個 private key 來做金鑰的,這時候需要去更改 .ssh/config,這個檔案可以自定義在什麼樣的連線方式,要使用哪一個 private key,舉例:

Host GitHub
Hostname github.com
User git
IdentityFile /Users/[your_name]/.ssh/[private_key_name]

增加上面這段到 .ssh/config 裏面,Host 可以隨便設定沒差,但是 Hostname, User 這兩個其實就是對應到在下 git clone git@github.com:[your_name]/[your_repo].git 這個 command 裏面的 git@github.com,也很合理,因為在 ssh 連線的時候也是一模一樣的概念,(廢話,因為他就叫做 clone SSH 阿 xd)。

Reference

--

--