---
# System prepended metadata

title: git with ssh key
tags: [linux, git, ubuntu, SSH, tutorials]

---

###### tags: `tutorials` `ubuntu` `linux` `SSH` `git`
# git with ssh key
## 設定 SSH 金鑰
```bash= !
$ ssh-keygen -t rsa -C "username@PC"
```
- `username`: 使用者名稱，可自訂
- `PC`: 使用者電腦，可自訂
:::info
另一種金鑰格式是使用信箱
```bash= !
$ ssh-keygen -t rsa -C "useremail"
```
- `useremail`: 使用者信箱
:::
> 輸出:
> ```= !
> Generating public/private rsa key pair.
> Enter file in which to save the key (~/.ssh/id_rsa):
> Created directory '/home/jaycelin/.ssh'.
> Enter passphrase (empty for no passphrase):
> Enter same passphrase again:
> The key fingerprint is:
> ```
> 輸入指令之後會有一連串互動指令和輸出如上
> 
> - 第 `2` 行: 可以輸入金鑰存放位置，預設是放在 `~/.ssh/id_rsa`，如果使用預設值不修改直接按 `Enter` (一般對私鑰是對 `~/.ssh/id_rsa` 內的 private key)
> - 第 `4` 行: 可以設定金鑰密碼，如果設定值之後，以後每次 push 都要輸入該金鑰密碼，如果不使用密碼直接按 `Enter`
> - 第 `5` 行: 再次確認金鑰密碼，如果不使用密碼直接按 `Enter`

## 檢視並複製公鑰
```bash= !
$ cat ~/.ssh/id_rsa.pub
```
> 輸出:
> ssh-rsa \~一連串金鑰\~ username@PC

之後再複製該內容
:::warning
要從 `ssh-rsa` 複製到最後 `username@PC`
:::

## 將公鑰貼到 github 上
1. 先進入帳號設定
![](https://i.imgur.com/YsjMuco.png)

2. 選擇 `SSH and GPG keys`
![](https://i.imgur.com/Tj6Gkbf.png)

3. 選擇 `New SSH key` 加入新的 SSH KEY
![](https://i.imgur.com/xoUW2b3.png)


4. 貼上金鑰
![](https://i.imgur.com/3cfztoP.png)

5. 之後就可以使用 SSH git
![](https://i.imgur.com/lWirjX0.png)

    