码云ssh方式管理代码

2020-02-02  本文已影响0人  squidbrother
目录
概述

为什么不选择传统的https克隆项目?
SSH是一种网络协议,用于计算机之间的加密登录。
如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。
ssh也是Linux系统的标准配置

https与ssh区别在哪里呢?
https 任何人都可以clone
ssh 只有项目的拥有者或管理员可以使用,且fetch和push代码时候,无需反复输入密码验证身份

本地(代码管理者)电脑配置ssh到码云 流程

最高权限,提交,拉取等

0.进入码云官网,创建账号,并创建一个新的仓库
设置 仓库名称 、仓库介绍 、开源选择私有(因为github私有仓库是收费项目)、创建readme文件初始化(如果本地有readme,不要勾选),另外这个在后续流程第8步,有报错隐患

1.本地电脑终端,输入ssh-keygen,生成 公钥
如:

Your identification has been saved in C:\Users\yourAccount/.ssh/id_rsa.
Your public key has been saved in C:\Users\yourAccount/.ssh/id_rsa.pub.

打开C:\Users\yourAccount/.ssh/id_rsa.pub获取公钥

2.登录码云账号,在个人 '设置' ,创建一个新的公钥(公钥)
输入公钥标题,粘贴公钥代码,即可创建

3.终端跳转本地项目路径,初始化git项目 git init

4.针对本地项目配置用户名与邮箱

git config user.name "xxxxxx"
git config user.email "xxxxxx@sina.com"

5.添加所有项目文件
git add .

如果报错:

xxxx does not have a commit checked out

则删除报错文件夹内的隐藏 .git文件夹 再次尝试即可

6.添加到本地版本库
git commit -am "第一次提交"

7.将远程仓库关联到码云
git remote add origin git@gitee.com:xxx/xxxx.git

其中git@gitee.com:xxx/xxxx.git 为码云创建项目后,获取的地址,如图

ssh地址

8.首次提交远程仓库
git push -u origin master

如报错:

The authenticity of host 'gitee.com (xxx.xxx.xx.xxx)' can't be established.
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

则输入yes,回车

如再报错:
输入git pull gitee master --allow-unrelated-histories

如仍报错:
则使用 git push -f origin master
报错原因可能为(GitHub远程仓库中的README.md文件不在本地仓库中)

9.后续再次提交远程仓库
git push

如报错:

fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin master

则,按照提示输入 git push --set-upstream origin master

服务器(单位或者客户电脑)配置ssh到码云 流程

仅拥有拉取代码 权限
部署公钥允许以只读的方式访问仓库,主要用于仓库在生产服务器的部署上,免去HTTP方式每次操作都要输入密码和普通SSH方式担心不小心修改仓库代码的麻烦。

1.在服务器终端,输入ssh-keygen 生成公钥
一路默认回车,在生成中,查看公钥生成的存储路径

2.登录码云,切换到当前项目,选择 '管理' - '部署公钥管理' - '添加公钥'
填写标题,以及公钥,完成后添加

3.拉取代码,阿里云远程(Xshell也可)VNC登录,跳转至Nginx的(/usr/local/webserver/nginx/html)目录,mkdir 创建一个项目文件夹,通过git clone 码云项目的SSH地址 拉取代码

4.由于提交包 .gitignore 屏蔽了node_modules ,故此可以优先安装下依赖包 npm install

5.使用pm2管理进程...... , 测试服务器端口,管理服务器等

一些问题

1.windows系统用户,使用阿里云自带远程登录(VNC方式),虽然可以通过cat查看/root/.ssh/id_rsa.pub,但是无法将其copy下来。
另外,通过winscp登录 无法找到/root/.ssh/id_rsa.pub 这个文件,好神奇~~~,手动敲(409个大小写数字符号加空格)也容易出错

解决方式,通过下载Xshell登录,可以copy代码

安装方式,下载一个免安装,一般软件安装方式
1-2.配置 这个 新建连接,端口号22 主机写自己服务器的IP号(公),连接,弹出身份验证界面,默认用户名root 密码自行填写
再次通过cat查看/root/.ssh/id_rsa.pub,即可copy了

上一篇 下一篇

猜你喜欢

热点阅读