操作环境:
本地:win10 64位+ git(64位version2.9.0)
远程:github、sae(新浪云应用引擎-其它云服务容器可类比)
本篇目录:
1、RSA密钥与SSH登录
2、利用gitbash(git安装根目录有个git-bash.exe)+ssh协议 登录新浪云服务器
3、gitbash+ssh认证github
4、git常用操作(git config、git add、git commit、git push、git pull等)
说明:
本篇为学习笔记,不做截图(太麻烦)。
一、RSA密钥与SSH登录
RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。1987年首次公布,当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。
RSA为非对称加密算法中的一种,该算法需要一对密钥--公钥和私钥。
SSH(安全外壳协议)是一种网络协议,用于计算机之间的加密登录。利用SSH可以提高登录效率。
二、利用gitbash(git安装根目录有个git-bash.exe)+ssh协议 登录新浪云服务器
首先在本地(win10)生成一对RSA密钥。打开git-bash.exe --> 输入ssh-keygen --> 回车(采用默认文件路径和文件名)--> 回车(不设置密码,即密码为空)--> 回车(确认空密码)。完成后我们在本地计算机C:\Users\zouy\.ssh(C:\Users\用户名\.ssh)文件夹下可以看到两个密钥文件--id_rsa(私钥文件)和id_rsa.pub(公钥文件)。
然后登陆新浪云应用引擎控制台,进入自己的sae应用在左侧列表栏选择应用 --> 容器管理,接着点击SSH客户端登录 --> 管理SSH密钥,接着在SSH密钥管理中创建SSH密钥。将之前在本地创建的id_rsa.pub(公钥文件)的所有内容复制到“公钥内容”中。确定即可。
在gitbash中输入ssh -p 60022 tomasyao77@ssh.sinacloud.com即可顺利登录新浪云后台管理容器。其中-p表示指定开放的端口,这里显然为60022。tomasyao77为我的sae应用名称。
三、gitbash+ssh认证github
利用前面生成的一对密钥同样可以对github进行配置。登录github后在右上方下拉菜单中选择settings --> 点击左侧SSH and GPG keys --> 点击右侧New SSH keys,将之前在本地创建的id_rsa.pub(公钥文件)的所有内容复制到“Key”中。确定即可。
在gitbash中输入ssh -T git@github.com即可(有个疑问,我还不懂,在本地并未指定github账户相关信息,难道仅凭密钥即可?还是说我之前配置过全局变量所以存在缓存)。
返回结果:Hi Tomasyao77! You've successfully authenticated, but GitHub does not provide shell access.代表SSH登录成功。
四、git常用操作(git config、git add、git commit、git push、git pull、git clone等)
git config -l|--list可以查看全局配置信息,git config --global user.name Tomasyao77配置用户名,git config --global user.email 772052352@qq.com配置邮箱。
git clone https://github.com/Tomasyao77/testssh.git将github上的仓库clone到本地(在本地哪个目录下执行该命令就clone到哪里)。
git pull更新本地仓库操作,与远程仓库保持一致。
git add holo.txt将当前更改或者新增的文件加入到Git的索引中,加入到Git的索引中就表示记入了版本历史中,这也是提交之前所需要执行的一步。这里holo.txt为我在本地仓
库中新增的一个文件(此时远程仓库还没有此文件)。
git commit提交当前工作空间的修改内容,回车后在弹出的vim编辑器中输入comment message:msg后保存即可。
git push将本地commit的代码更新到远程版本库中。