SSH的相关问题
在使用git clone项目的时候,一般方式会有https 和 SSH 两种
一 .SSH是什么?
SSH(全称 Secure Shell)是一种加密的网络协议。使用该协议的数据将被加密,如果在传输中间数据泄漏,也可以确保没有人能读取出有用信息。要使用 SSH,目标机器应该安装 SSH 服务端应用程序,因为 SSH 是基于客户-服务模式的。 当你想安全的远程连接到主机,可中间的网络(比如因特网)并不安全,通常这种情况下就会使用 SSH。
如果使用SSH安全方式去clone项目,首先得在你的git账号里配置SSH秘钥。
其实在配置的时候都有引导,大概就是有下面几个方法
Windows环境:
1、首先你要安装Git工具
2、运行Git Bash here
3、输入指令,进入.ssh文件夹
cd ~/ .ssh/
如果提示 “ No such file or directory”,你可以手动的创建一个 .ssh文件夹即可
mkdir ~/. ssh
4、配置全局的name和email,这里是的你github或者bitbucket的name和email
git config --global user.name "name"
git config --global user.email "email"
5、生成key
ssh -keygen -t rsa -C " email "
连续按三次回车,这里设置的密码就为空了,并且创建了key。
最后得到了两个文件:id_rsa和id_rsa.pub
6、打开Admin目录进入.ssh文件夹,用记事本打开id_rsa.pub,复制里面的内容添加到你github或者bitbucket ssh设置里即可.
Mac环境:
Mac 环境下的 .ssh文件 一般都会放在/user/username/.ssh这个路径里面 ( .ssh文件默认是个隐藏文件).
1、打开终端,使用命令行查看你的默认ssh公钥
cat ~/.ssh/id_rsa.pub
如果没有的话将会显示找不到文件夹。
2、使用命令行生成新的ssh
ssh-keygen -t rsa -C "your email"
直接点击回车,使用系统默认地址,接着两下回车 默认无密码,这样你的ssh就生成了。
3、复制粘贴你的ssh的公钥到你的设置ssh页面
可以找到文件路径下的相应文件,直接文本器打开,复制。
也可以使用命令行
pbcopy < ~/.ssh/id_rsa.pub
二. 配置多个SSH
有时候因为多个项目的原因,可能会让你在不同的git上配置SSH,这就涉及到了本地多个SSH配置的问题。
这个过程其实主要包含两个问题
1.创建自己命名的ssh-key文件
ssh-keygen -t rsa -f ~/.ssh/自定义名称_id_rsa -C “your email“
通过上述命令ssh-key文件已经生成到指定路径。
2. 创建config 文件
config 文件位于~/.ssh/config 路径下,需要自己创建。
这个config文件就是负责来管理ssh的,可以用 .ssh/config 简化你的工作流程,ssh 免密登录,ssh 关键词登录,ssh 代理登录,ssh 多连接共享。
我创建了一个命名为t_id_rsa 的ssh-key 我的config文件这样编写
图Host //关键词
HostName // 主机地址
USer //用户名
IdentityFile # 指定文件
此外还有指定端口的 Port
配置好config文件 就可以使用命令行来检查是否ssh-key 是否可用了
在~/.ssh路径下 执行命令行 如:
ssh -T github.com
返回:Hi XXXX You've successfully authenticated, but GitHub does not provide shell access. 表示成功了.
关于config文件的一些其他用法 可以看config文件的使用
参考:https://blog.csdn.net/maoxinwen1/article/details/80269299