1.SSH简介
SSH全称Secure Shell,是应用层上的一种安全协议,专为远程登录和其他网络服务提供安全性的一种协议.
2.SSH相比较HTTPS的优势
利用SSH协议可以有效防止远程管理过程中的信息泄露问题.SSH会把所有传输内容加密,防止“中间人”攻击.也能防止DNS欺骗和IP欺骗.另外SSH会压缩传输数据,实现更快的传输速度.
总结一下就是更快更安全.
3.配置SSH
使用SSH主要就是通过两个ssh key文件:id_ras_xx(私钥)和id_ras_xx.pub(公钥)实现的
1.首先打开终端输入命令 cd ~/.ssh
进入到Mac上ssh目录,没有的话可以通过mkdir ssh
创建一个ssh目录
2.生成ssh key
ssh-keygen -t rsa -C "xxx@gmail.com" #添加ssh key
Enter之后会出现以下界面,让你输入文件要保存的路径和名字,直接Enter的话会默认生成id_rsa.pub,因为接下来我们要设置多个平台账号的ssh,所以这里给他重新命一个新的名字,比如id_rsa_公司名_平台名 (id_rsa_alibaba_gitlab)
ps:此处的这个邮箱只是为了命名区分,不一定非是平台注册邮箱.
完成之后会让你输入密码,可以设置为空,直接Enter
即可.看到下图内容出现就表示ssh key已经生成.~/.ssh
目录就会新增两个id_rsa_xxx
和id_rsa_xxx.pub
的文件.
3.ssh-key添加到ssh agent中
默认的话是会自动加入ssh agent中的,但是我们重命名了,需要手动加一下
ssh-add ~/.ssh/id_ras_xx_xx
4.在git服务器上添加公钥
把id_rsa_xx.pub里的内容复制拷贝到git服务器相应的位置即可.
至此,如果是采用默认命名的话SSH就已经可用了.但由于我们重命名了,还需要配置一下config
才行.在~/.ssh
目录下新建config
文件,配置一下内容即可
# default user(first@email.com)
Host github.com
HostName github.com
Port 9418 //仅在需要指定端口是配置,否则不用添加Port配置
User git //用户
IdentityFile ~/.ssh/id_rsa_xxx //文件路径
ps: HOST
和User
中的数据取自项目地址中的 git clone git@github.com:socketio/socket.io-client-swift.git中的git@github.com
4.一台设备多账号SSH配置
我们一般都会有很多不同的git账号,比如GitHub,Gitlab还有国内的gitee,大多数公司也还会使用自己内部的git服务器,那就会有多个账号,这种情况就需要我们在电脑上配置多个账号了.也不复杂,只需重复上述的步骤,然后配置下config即可.
config参考如下:
# default user(first@email.com)
Host github.com
HostName github.com
Port 9418 //仅在需要指定端口是配置,否则不用添加Port配置
User git //用户
IdentityFile ~/.ssh/id_rsa_xxx //文件路径
# second user(second@email.com)
Host github2
HostName github.com
User git
IdentityFile~/.ssh/id_rsa_xxx_xxx2
至此大功告成
网友评论