Git使用ssh key

生成ssh key步骤

这里以配置github的ssh key为例:

1. 配置git用户名和邮箱

git config user.name
"用户名"

git config user.email
"邮箱"

在config后加上?--global?即可全局设置用户名和邮箱。

2. 生成ssh key

ssh-keygen
-t rsa -C
"邮箱"

然后根据提示连续回车即可在~/.ssh目录下得到id_rsa和id_rsa.pub两个文件,id_rsa.pub文件里存放的就是我们要使用的key。

3. 上传key到github

clip < ~/.ssh/id_rsa.pub

  1. 复制key到剪贴板

  2. 登录github
  3. 点击右上方的Accounting settings图标

  4. 选择 SSH key
  5. 点击 Add SSH key

4. 测试是否配置成功

ssh -T git@github.com

如果配置成功,则会显示:
Hi username! You‘ve successfully authenticated, but GitHub does not provide shell access.

解决本地多个ssh key问题

有的时候,不仅github使用ssh key,工作项目或者其他云平台可能也需要使用ssh key来认证,如果每次都覆盖了原来的id_rsa文件,那么之前的认证就会失效。这个问题我们可以通过在~/.ssh目录下增加config文件来解决。

下面以配置搜狐云平台的ssh key为例。

1. 第一步依然是配置git用户名和邮箱

git config user.name
"用户名"

git config user.email
"邮箱"

2. 生成ssh key时同时指定保存的文件名

ssh-keygen
-t rsa -f ~/.ssh/id_rsa.sohu -C
"email"

上面的id_rsa.sohu就是我们指定的文件名,这时~/.ssh目录下会多出id_rsa.sohu和id_rsa.sohu.pub两个文件,id_rsa.sohu.pub里保存的就是我们要使用的key。

3. 新增并配置config文件

添加config文件

如果config文件不存在,先添加;存在则直接修改

touch ~/.ssh/config

在config文件里添加如下内容(User表示你的用户名)

Host *.cloudscape.sohu.com

IdentityFile ~/.ssh/id_rsa.sohu

User test

4. 上传key到云平台后台(省略)

5. 测试ssh key是否配置成功

ssh -T [email protected].cloudscape.sohu.com

成功的话会显示:

Welcome to GitLab, username!

至此,本地便成功配置多个ssh key。日后如需添加,则安装上述配置生成key,并修改config文件即可。

设置SSH使用HTTPS的403端口

在局域网中SSH的22端口可能会被防火墙屏蔽,可以设置SSH使用HTTPS的403端口。

测试HTTPS端口是否可用


1
2
3


$ ssh -T -p 443 [email protected]
Hi username! You‘ve successfully authenticated, but GitHub does not
provide shell access.

编辑SSH配置文件 ~/.ssh/config 如下:


1
2
3


Host github.com
Hostname ssh.github.com
Port 443

测试是否配置成功


1
2
3


$ ssh -T [email protected]
Hi username! You‘ve successfully authenticated, but GitHub does not
provide shell access.

?

Caching your GitHub password in Git

If you‘re?cloning GitHub repositories using HTTPS, you can use a?credential helper?to tell Git to remember your GitHub username and password every time it talks to GitHub.

If you clone GitHub repositories using SSH, then you authenticate using SSH keys instead of a username and password. For help setting up an SSH connection, see?Generating an SSH Key.

Tip:?You need Git?1.7.10?or newer to use the credential helper.

The credential helper is included with GitHub Desktop. The app also provides a Git shell so you won‘t ever need to install and configure Git manually. For more information, see "Getting Started with GitHub Desktop."

If you prefer working with the command line, you can also install a native Git shell, such as?msysgit. With msysgit, running the following in the command line will store your credentials:

git config --global credential.helper wincred

?

一些错误

disconnected no supported authentication methods available(server sent: publickey,keyboard interae)

安装Git客户端后,进行PULL时报如下错误

disconnected no supported authentication methods available(server sent: publickey,keyboard interactive)解决方案

?
?

因为TortoiseGit和Git的冲突
我们需要把TortoiseGit设置改正如下。

1.找到TortoiseGit?->?Settings?->?Network

2.将SSH?client指向~\Git\bin\ssh.exe(Git安装路径下)(Git2.7版本下在C:\Program Files\Git\usr\bin)

然后便可正确push和pull

时间: 2024-11-08 19:25:31

Git使用ssh key的相关文章

git创建SSH key

SSH key 可以让你在你的电脑和 Git @ OSC 之间建立安全的加密连接 1.cmd 2.cd到git客户端下bin(因为git客户端bin目录有ssh-keygen.exe用来生成密钥) 3.如下图所示输入命令: 密钥放在id_rsa.中,公钥放在id_rsa.pub 4.将id_rsa.pub中公钥添加到Git @ OSC http://git.oschina.net/keys 5.测试:ssh -t [email protected] 显示“welcome to [email pr

git使用ssh key认证步骤摘要

建议用Git Bash进行SSH生成及认证 1.看看~/.ssh目录下有无文件,有则直接跳至第三步. $ ls ~/.ssh 2.生成一个新的SSH key $ ssh-keygen -t rsa -C "[email protected]" 3.启动ssh代理(有两种方法,第一种不行,可以选第二种试试) $ ssh-agent -s 或者 $ eval `ssh-agent -s` 4.将key存入ssh代理 $ ssh-add ~/.ssh/id_rsa 5.将pub ssh ke

Git 中 SSH key 生成步骤

由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以必须要让github仓库认证你SSH key,在此之前,必须要生成SSH key. 第1步:创建SSH Key.在windows下查看[c盘->用户->自己的用户名->.ssh]下是否有id_rsa.id_rsa.pub文件,如果没有需要手动生成.打开git bash,在控制台中输入以下命令. $ ssh-keygen -t rsa -C "[email protected]" 密钥类型可以用 -t

说说Git的ssh key

ssh key的作用 我们使用ssh登录服务器时,一般常见的会使用用户名/密码方式登录, 也可以使用ssh key实行免密码登录,一般现在这种方式被Git服务器使用的比较多. 生成ssh key ssh-keygen -t rsa -C "your name" 这样默认会在本地的-/.ssh目录下生成id_rsa,id_rsa.pub两个文件, id_rsa是私钥,id_rsa.pub是公钥. 使用ssh key ssh key方式登录远程服务器 我们需要把id_rsa.pub拷贝到远

git 生成ssh key gitlab 增加 ssh key

1.在用户目录下生成 ssh key $ cd ~/.ssh 查看密钥 $ ls config (配置git 地址端口) { host:   port: } id_dsa (密钥)  id_dsa.pub (公钥) $ ssh-keygen 生成密钥 2.将密钥保存到gitlab 在github上点击"setting", 找到添加SSH key的菜单,然后新增SSH key: 把文件id_rsa.pub  里面的内容全部复制到 key编辑框中, 保存完毕:

Git配置SSH Key

最近看到很多人在配置Git时,遇到很问题,网上教程千篇一律.这儿自己单独记录一份. 1.检查本机是否有ssh key设置,切换到.ssh目录 $ cd ~/.ssh 或cd .ssh 2.配置git用户名和邮箱,配置多个用户时添加 --add 参数 $ git config --global --add user.name "username" $ git config --global --add user.email "email" $ git config -

ubuntu git生成ssh key (公钥私钥)配置github或者码云

Git是分布式的代码管理工具,远程的代码管理是基于SSH的,所以要使用远程的Git则需要SSH的配置. github的SSH配置如下: 设置Git的user name和email: git config --global user.name "xx" git config --global user.email "[email protected]" 生成SSH密钥过程: 1.查看是否已经有了ssh密钥:cd ~/.ssh 如果没有密钥则使用下面命令生成 2.生存密

Github Git Bash/SSH Key基本配置

1.首先需要下载一个连接Github的客户端:Git for windows,并且在https://github.com/注册.安装好后打开Git Bash 然后分别输入: git config --global user.name "your name"    (github上注册的用户名) git config --global user.email "your email address"  (github上注册的邮箱) 2.生成SSH密钥: Git Bash

git生成SSH key

使用https:// 提交GitHub上的私有项目时,需要每次都输入帐号和密码,比较麻烦. 比如我自己的笔记本,在push的时候我可不想每次都输入这些. 那就使用SSH吧,这个需要在GitHub的帐号上添加这台笔记本的SSH key. ① ssh-keygen -t rsa -C "[email protected]" 引号中输入一个电子邮件地址信息即可. ② Enter file in which to save the key (/home/you/.ssh/id_rsa): 这是