文章目录

    • 文件目录
    • 文件格式
    • 文件访问
    • 密钥说明

 


默认可以直接使用https的方式进行访问,但是如果使用ssh的方式访问,则需要进行密钥的配置。

文件目录

首先在命令行通过ssh-keygen来创建密钥对,默认的文件名为id_rsa,生成的文件路径如下,如果有多个密钥对需要存储可以对文件进行重命名,重命名后需要通过配置文件来引导,不同ssh服务器对应的 实际地址,配置文件为密钥当前路径:

linux: ~/.ssh/
windows:C:\Users\suoxd\.ssh\

文件格式

配置文件名为:config(没有扩展名),内容格式如下:

Host {别名}
    HostName {实际域名地址或IP地址}
    IdentityFile {密钥目录}
	PreferredAuthentications publickey
    User {用户名}
    Port {访问端口}

对于访问git的情况,user可以直接在命令行窗口,通过下面命令进行配置,ssh访问端口通常是默认的22,如果不是则需要额外指定,否则可以省略。

git config --local -e 编辑仓库级别配置文件
git config --global -e 编辑用户级别配置文件
git config --system -e 编辑系统级别配置文件

实际示例如下:

# gitee
Host gitee
	HostName gitee.com
	PreferredAuthentications publickey
	IdentityFile ~/.ssh/gitee_id_rsa
# github
Host github
	HostName github.com
	PreferredAuthentications publickey
	IdentityFile ~/.ssh/github_id_rsa

文件访问

上面配置好之后,可以直接通过ssh的方式进行服务器的访问了,对于git服务器来讲,可以先通过如下命令进行访问测试(其中服务器名为配置文件中,Host参数配置的别名):

git -T git@gitee

如果权限已经满足,则可以直接进行代码的相关操作:

git clone git@gitee:suoxd123/XXX.git
git add .
git commit -m test
git push

密钥说明

一般都有个人账户的密钥和仓库密钥,个人账户的密钥用于自己具有权限的所有仓库的操作,而仓库自身密钥一般仅用于仓库部署时拉取,不能进行代码的提交,即:

  • 个人密钥:代码管理
  • 仓库密钥:代码拉取

如果是开发者,只需要管理员给自己分配对应仓库的权限,然后自己在个人主页保存个人密钥即可,不需要再有任何专门为仓库使用的密钥。
如果是运营人员,则只需要仓库本身的密钥即可,用于拉取最新程序进行部署,或者进行自动化部署。