您的位置:首页 > 其它

git生成ssh key及本地解决多个ssh key的问题

2016-06-16 14:06 316 查看


ssh是一种网络协议,用于计算机之间的加密登录。ssh原理及应用可参考:

SSH原理与运用(一):远程登录


生成ssh key步骤

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

1. 配置git用户名和邮箱

git config user.name "用户名"git config user.email "邮箱"

[/code]

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

2. 生成ssh key

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

[/code]

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

3. 上传key到github

clip < ~/.ssh/id_rsa.pub

[/code]
复制key到剪贴板
登录github
点击右上方的Accounting settings图标
选择 SSH key
点击 Add SSH key

4. 测试是否配置成功

ssh -T

[/code]

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

[/code]

"用户名"git config user.email "邮箱"

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

ssh-keygen

[/code]

-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

[/code]

config

文件里添加如下内容(
User
表示你的用户名)
Host *.cloudscape

[/code]

.sohu

.com

IdentityFile ~/.ssh/id_rsa.sohu User test

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

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

ssh -T git@git.cloudscape

[/code]

.sohu

.com

成功的话会显示:
Welcome to

[/code]

GitLab, username!

至此,本地便成功配置多个ssh key。日后如需添加,则安装上述配置生成key,并修改
config
文件即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: