码农的自我修养 - 为Git访问创建SSH密钥(以Bitbucket服务器为例)

本文详细介绍了如何在Windows和Linux环境下创建SSH密钥,包括检查现有密钥、备份、生成新密钥,并指导如何将SSH密钥添加到Bitbucket服务器进行Git仓库访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

本页描述了如何创建和配置SSH密钥。

SSH密钥可用于建立与Git代码服务器的安全连接:

- 当你在本地机器上进行Git操作时

- 当其他系统或进程需要访问Git代码服务器中的仓库时(例如你构建的服务器)

SSH密钥需要被添加到Git代码服务器中。在你使用SSH密钥访问Git仓库前,Git仓库管理员必须启用SSH访问。

以Bitbucket的Git服务器为例,支持DSA、RSA2和Ed25519密钥类型。不支持RSA1。如果你愿意,你可以使用本地已有的SSH密钥,也可以不创建,然后在Bitbucket服务器上配置这个密钥即可。

一般我们要先创建SSH密钥,然后在Git服务器提供的接口上配置SSH密钥。创建SSH密钥分为两种,一种是Windows,一种是Linux&macOS。

在Windows上创建一个SSH密钥

1. 检查现有的SSH密钥

你应该检查你的本地计算机上现有的SSH密钥。

打开一个命令提示符,并运行:

cd %userprofile%/.ssh

-如果你看到 "No such file or directory",那么就没有任何现有的钥匙:转到第3步。

-检查你是否已经有了一个密钥。

dir id_*

如果已经有密钥,可以选择复用。

2. 备份旧的SSH密钥

如果你有现成的SSH密钥,但你不想在连接Bitbucket服务器时使用它们,你应该备份它们。

在你本地电脑的命令提示符中,运行:

mkdir key_backup

cp id_* key_backup

3. 生成一个新的SSH密钥

如果你没有想要复用的SSH密钥,请按以下方法生成一个:

a. 以管理员身份登录到你的本地计算机。

b. 在一个命令提示符下,运行:

ssh-keygen -t ed25519 -C "your_email@example.com"

或者

ssh-keygen -t rsa -C "your_email@example.com"

将密钥与你的电子邮件地址联系起来,有助于你以后识别密钥。

注意,ssh-keygen命令只有在你已经安装了Git(可以使用Git Bash)的情况下才能使用。

你会看到类似这样的回复:

C:\Users\ASUS>ssh-keygen -t ed25519 -C "your_email@example.com"

Generating public/private ed25519 key pair.

Enter file in which to save the key (/c/Users/ASUS/.ssh/id_ed25519):

c. 只要按<Enter>就可以接受默认的位置和文件名。如果.ssh目录不存在,系统将为你创建一个。

d. 在提示时输入口令。整个交互过程如下:

C:\Users\ASUS>ssh-keygen -t ed25519 -C "your_email@example.com"

Generating public/private ed25519 key pair.

Enter file in which to save the key (/c/Users/ASUS/.ssh/id_ed25519):

Created directory '/c/Users/ASUS/.ssh'.

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in c/Users/ASUS/.ssh/id_ed25519.

Your public key has been saved in c/Users/ASUS/.ssh/id_ed25519.pub.

The key fingerprint is:

SHA256:wvaHYeLtY6+DlvV5sFZgDi3RTAe8R2KY23N78qrGqJE your_email@example.com

e. SSH密钥生成成功。

  

在Linux和macOS上创建一个SSH密钥

1. 检查现有的SSH密钥

你应该检查你本地电脑上现有的SSH密钥。

打开一个终端,运行以下程序。

cd ~/.ssh

如果你看到 "No such file or directory, then there aren't any existing keys“,转到第3步。

检查一下你是否已经有了一个密钥。

ls id_*

如果已经有密钥,可以选择复用。

2. 备份旧的SSH密钥

如果你有现成的SSH密钥,但你不想在连接Bitbucket服务器时使用它们,你应该备份它们。

在你本地电脑的终端中,通过运行以下命令来完成:

mkdir key_backup

cp id_* key_backup

3. 生成一个新的密钥

如果你没有想要复用的SSH密钥,请按以下方法生成一个:

a. 在你的本地计算机上打开一个终端,输入以下内容:

ssh-keygen -t ed25519 -C "your_email@example.com"

或者

ssh-keygen -t rsa -C "your_email@example.com"

将密钥与你的电子邮件地址联系起来有助于你以后识别密钥。

你会看到一个类似于这样的响应:

chaiss@C02FP1JWMD6V ~ % ssh-keygen -t ed25519 -C chaiss@email.com

Generating public/private ed25519 key pair.

Enter file in which to save the key (/Users/chaiss/.ssh/id_ed25519):

b. 只要按<Enter>就可以接受默认的位置和文件名。如果.ssh目录不存在,系统将为你创建一个。

c. 在提示时输入口令。整个交互过程如下:

chaiss@C02FP1JWMD6V ~ % ssh-keygen -t ed25519 -C chaiss@email.com

Generating public/private ed25519 key pair.

Enter file in which to save the key (/Users/chaiss/.ssh/id_ed25519):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /Users/chaiss/.ssh/id_ed25519.

Your public key has been saved in /Users/chaiss/.ssh/id_ed25519.pub.

The key fingerprint is:

SHA256:gTVWKbn41z6JgBNu3wYjLC4H6oW5bmhaXyaVABwmEtE chaiss@email.com

The key's randomart image is:

+--[ED25519 256]--+

|==+.    +o..     |

|.oE.   +o..      |

|    . ...o       |

|     .o...       |

|     oo+S  .     |

|  + ..B = . .    |

|.+.+.oo+ * o .   |

|o++.o+  . + +    |

|B+ o.    .   .   |

+----[SHA256]-----+

chaiss@C02FP1JWMD6V ~ %

d. SSH密钥生成成功。

------------------------------------------------ 

为个人账户配置SSH密钥,将SSH密钥添加到Bitbucket服务器账户中

1. 在Windows上,打开命令提示符,运行以下命令。进入到.ssh目录,复制公钥文件到剪切板。

WINDOWS

cd %userprofile%/.ssh

clip < id_rsa.pub

在macOS或Linux上,只需在终端运行以下命令:

MAC OS X

pbcopy < ~/.ssh/id_rsa.pub

注意,在Linux上,你可能需要下载并安装xclip,然后使用它,如下所示:

LINUX

sudo apt-get install xclip

xclip -sel clip < ~/.ssh/id_rsa.pub

2. 在Bitbucket服务器访问页面上,打开账户页:

 3. 点击SSH密钥,然后点击添加密钥。

 4. 将密钥粘贴到文本框中。

5. 点击Add key,添加密钥完成。

然后,就可以使用Git来访问远程仓库了。

参考:

Creating SSH keys | Bitbucket Data Center and Server 7.6 | Atlassian Documentationicon-default.png?t=M1H3https://confluence.atlassian.com/bitbucketserver076/creating-ssh-keys-1026534841.html?utm_campaign=in-app-help&utm_medium=in-app-help&utm_source=stash

SSH user keys for personal use | Bitbucket Data Center and Server 7.6 | Atlassian Documentationicon-default.png?t=M1H3https://confluence.atlassian.com/bitbucketserver076/ssh-user-keys-for-personal-use-1026534846.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜流冰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值