git设置ssh

打开Git Bash。
输入ls -al ~/.ssh以查看是否存在现有的SSH密钥:

$ ls -al ~/.ssh
# Lists the files in your .ssh directory, if they exist

检查目录列表,以查看是否已经有公共SSH密钥。默认情况下,公共密钥的文件名是以下之一:

id_rsa.pub
id_ecdsa.pub
id_ed25519.pub

如果您没有现有的公钥和私钥对,或者不希望使用任何可用于连接到GitHub Enterprise的密钥,请生成一个新的SSH密钥
如果您看到列出的现有公钥和私钥对(例如id_rsa.pub和id_rsa)想要用于连接到GitHub Enterprise,则可以将SSH密钥添加到ssh-agent。

生成新的SSH密钥并将其添加到ssh-agent
Windows系统:
打开Git Bash。
粘贴以下文本,替换为您的GitHub Enterprise电子邮件地址。

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

使用提供的电子邮件作为标签,这将创建一个新的ssh密钥。

> Generating public/private rsa key pair.

当提示您“输入要在其中保存密钥的文件”时,请按Enter。这接受默认文件位置。

> Enter a file in which to save the key (/c/Users/you/.ssh/id_rsa):[Press enter]

在提示符下,键入一个安全密码。有关更多信息,请参阅“使用SSH密钥密码短语”。(可以不用密码,连按两次Enter)

> Enter passphrase (empty for no passphrase): [Type a passphrase]
> Enter same passphrase again: [Type passphrase again]

Linux系统:
粘贴以下文本,替换为您的GitHub Enterprise电子邮件地址。

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

使用提供的电子邮件作为标签,这将创建一个新的ssh密钥。

> Generating public/private rsa key pair.

当提示您“输入要在其中保存密钥的文件”时,请按Enter。这接受默认文件位置。
在提示符下,键入一个安全密码。有关更多信息,请参阅“使用SSH密钥密码短语”。

> Enter passphrase (empty for no passphrase): [Type a passphrase]
> Enter same passphrase again: [Type passphrase again]

将SSH密钥添加到ssh-agent
在将新的SSH密钥添加到ssh-agent来管理密钥之前,您应该已经检查了现有的SSH密钥并生成了一个新的SSH密钥。
如果安装了GitHub Desktop,则可以使用它来克隆存储库,而不用处理SSH密钥。它还带有Git Bash工具,这是git在Windows 上运行命令的首选方式。

确保ssh-agent正在运行:
打开git bash运行

env=~/.ssh/agent.env

agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }

agent_start () {
    (umask 077; ssh-agent >| "$env")
    . "$env" >| /dev/null ; }

agent_load_env

# agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2= agent not running
agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)

if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then
    agent_start
    ssh-add
elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then
    ssh-add
fi

unset env
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa

如果您使用的是GitHub Desktop随附的Git Shell,则ssh-agent应该正在运行。
如果使用的是其他终端提示符,例如Windows的Git,则可以使用“ 使用SSH密钥密码 ”中的“自动启动ssh-agent”说明,或手动启动它:

# start the ssh-agent in the background
$ eval $(ssh-agent -s)
> Agent pid 59566

将SSH私钥添加到ssh-agent。如果您使用其他名称创建密钥,或者要添加具有其他名称的现有密钥,请使用私有密钥文件的名称替换命令中的id_rsa。

$ ssh-add ~/.ssh/id_rsa
将SSH密钥添加到您的GitHub帐户。
向您的GitHub帐户添加新的SSH密钥

将SSH密钥复制到剪贴板。
如果SSH密钥文件的名称与示例代码的名称不同,请修改文件名以匹配当前设置。复制密钥时,请勿添加任何换行符或空格。

```bash
$ clip < ~/.ssh/id_rsa.pub
# Copies the contents of the id_rsa.pub file to your clipboard

在任何页面的右上角,点击您的个人资料照片,然后点击设置。
在用户设置边栏中,点击SSH和GPG密钥。
单击“ 新建SSH密钥”或“ 添加SSH密钥”。
在“标题”字段中,为新密钥添加一个描述性标签。例如,如果您使用的是个人Mac,则可以将此键称为“个人MacBook Air”。

将您的密钥粘贴到“密钥”字段中。

测试您的SSH连接
Windows
打开Git Bash。
输入以下内容:

$ ssh -T git@hostname
# Attempts to ssh to GitHub Enterprise

您可能会看到这样的警告:

> The authenticity of host 'hostname (IP ADDRESS)' can't be established.
> RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
> Are you sure you want to continue connecting (yes/no)?

或像这样:

> The authenticity of host 'hostname (IP ADDRESS)' can't be established.
> RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
> Are you sure you want to continue connecting (yes/no)?

验证您看到的消息中的指纹是否与步骤2中的消息之一匹配,然后键入yes:

> Hi username! You've successfully authenticated, but GitHub does not
> provide shell access.

验证结果消息包含您的用户名。如果收到“权限被拒绝”消息,请参阅“错误:权限被拒绝(公钥)”。

打开git bash运行

env=~/.ssh/agent.env

agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }

agent_start () {
    (umask 077; ssh-agent >| "$env")
    . "$env" >| /dev/null ; }

agent_load_env

# agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2= agent not running
agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)

if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then
    agent_start
    ssh-add
elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then
    ssh-add
fi

unset env
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值