---
# System prepended metadata

title: '[WIIN 11 SSH GIT, BITBUCKET] The Problem with Use Git clone on Bitbucket'
tags: [2022/06/17, It's a trap!, Git Cli, Solve]

---

# [WIIN 11 SSH GIT, BITBUCKET] The Problem with Use Git clone on Bitbucket    
###### tags: `It's a trap!` `Solve` `Git Cli` `2022/06/17`   

---

## When you use the Bitbucket or Git, you may need ssh key and pub key~   

## 當你使用 Bitbucket 或 Git 的時候你會需要 ssh 兩組一對的 Key~   

> 也就是你可能在執行某專案的時候, 可能會需要用 `Git` 指令去 `Create branch` 或是從公司的專案版本控管工具, 像是 Bitbucket 去使用 `Git clone` 指令下載~  

> 通常這時候可能會有 SOP 要你使用指令生成 keygen  

像 mac 可能會有以下指令:   

```
ls -al ~/.ssh
```

```
$ ssh-keygen -t rsa -b port4碼 -C "your@mail.com.tw"
```
`Enter file in which to save the key (/c/Users/emmap1/.ssh/id_rsa):`
接著會要你確認是否生成 `rsa` 檔案, 然後設定密碼(passphrase), 再確認一次密碼...等等    

> ==上述的動作也就是設定 SSH 連接==, 然後會在你的 user 資料夾底下生成一個 `.ssh` 的資料夾, 裡面會包含兩組 rsa 檔案, 其中一組是 pub 檔~  


大 guy 4 這樣, 如下圖所示 ↓   

![](https://i.imgur.com/fHonBHC.png)   

---

## 這樣不就生成好了嗎? 那有甚麼問題!?   

有! 在 ==**Win11**== 上因為 Win OS 系統環境設定的關係, 我試著轉了幾次/刪除重裝 `id_rsa.pub` 檔案都無法成功QQ  

並且上 Bitbucket 用 `git clone` 都無法下載專案!

```
出現 Permission denied (publickey) 的 error  
```

---

## 那就換個 key 的類型吧!   

> 後來就改以以下指令, 新建或是覆蓋在 .ssh 資料夾在 user 底下:   
```
$ ssh-keygen -t ed25519 -b port4碼 -C "your@mail.com.tw"
```

↓ Bom! 成功了!!

![](https://i.imgur.com/BGjOgO4.png)   

接著你就可以上 Git, 或是 Bitbucket 下載要協作的專案啦~~~   

---

## Bitbucket 設定   


如果用 Bitbucket, 記得去 ==*Account*== → ==*SSH keys*== → ==*Add key*==

![](https://i.imgur.com/8mpPhyj.png)   
```
把 ssh-ed25519 ...中間一長串大小寫英文夾雜數字... = "your@mail.com.tw" 貼上去 Add key 內
```


---

## 參考文獻~   

0. [Bucket 官方教學](https://support.atlassian.com/bitbucket-cloud/docs/set-up-an-ssh-key/)   

1. [rsa key 製作過程](https://backlog.com/git-tutorial/tw/reference/ssh.html)   

2. [Permission denied](https://www.zhihu.com/question/21402411)   

3. [Manually generating your SSH key in macOS](https://docs.joyent.com/public-cloud/getting-started/ssh-keys/generating-an-ssh-key-manually/manually-generating-your-ssh-key-in-mac-os-x)   

4. [ssh keygen flags, -C -t -o 代表的意思](https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/GitHub-SSH-Windows-Example)   

5. [根據你的環境選擇 key 的類型](https://cloud.tencent.com/developer/article/1493298)   

----