Skip to main content

[Git] Github with SSH

What is SSH?

SSH(Secure Shell)是一種網路安全協議,主要用來遠端連線linux server。SSH的連線透過使用者伺服器的模型,如果使用者提供正確的機密茲酪,在遠端的伺服器會在特定的網路端口(port)驗證連線請求,讓使用者可以透過加密的SSH渠道獲得與送出資訊。

SSH的驗證方式

主要是透過key和一組密碼(可選擇性)來進行驗證,設置密碼可以讓SSH連線的安全性更加提高。

建立SSH

打開Terminal,輸入ssh-keygen,會產生使用RSA演算加密的key,他會詢問你要儲存在哪裡,不需要去做修改

ssh-keygen output
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/your_name/.ssh/id_rsa):

下一步,他會要你輸入密碼,這個密碼千萬要記住

terminal question
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

之後,他會提示你SSH key已生成,並產生一個隨機的圖型,我們接下來切換到.ssh的資料夾,會發現裡面有id_rsa(private key)跟id_rsa.pub(public key),輸入cat來檢視公鑰內容

cd .ssh
ls
cat id_rsa.pub

如此一來,SSH key就建立完成了!

Github SSH連線設定

點擊個人頭像裡面的設定,會看到SSH key設定的選項,

在SSH key的地方點擊新增

輸入給予這個key易懂的標題,跟剛剛id_rsa.pub裡面的公鑰內容,在按下加入就完成了。

官方文件: https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account

Reference