首页系统ssh proxy(github配置SSH proxy)

ssh proxy(github配置SSH proxy)

编程之家2024-02-14106次浏览

一、有何方法可以给github远程仓库的push提速

把本地仓库推送到新仓库

ssh proxy(github配置SSH proxy)

这里我们在Android Studio创建一个新的项目,然后来到项目所在的位置,右键git bash,

键入:git init将这个项目变成带有git仓库的项目,这里我们拷贝下Github那里我们这个

仓库的地址:

,然后键入下述指令:

git remote add origin github.com/coder-pig/SimpleTea.git

指定完远程主机后,我们可以直接键入git remote来查看,或者加上-v:

ssh proxy(github配置SSH proxy)

接着我们键入下述命令把我们的仓库push到github上,这里的-u参数作为第一次提交使用,

作用是把本地master分支和远程master分支关联起来(设置默认远程主机),后续提交不需要这

个参数!

git push-u origin master

这时候打开我们的GitHub就可以看到我们的项目已经成功push上来了!

这里我们是通过git remote来设置远程仓库地址的,假如你想修改远程仓库地址,

ssh proxy(github配置SSH proxy)

比如你把仓库托管换成了Git@OSC,你需要修改远程地址,可以键入:

git remote set-url origin xxxx

来修改远程地址,你也可以先删除origin然后再添加:

git remote rm origin

还可以直接修改.git文件夹里的config文件,直接替换圈住位置:

另外,这个origin不是什么固定的东西,这个只是我们后面那个仓库地址的一个别名!!!

你可以写成其他的东西,比如我的项目既托管在Github又托管在Git@OSC,我可这样设置:

git remote add github

git remote add osc git@git.oschina.net:coder-pig/SimpleTea.git

这一点要弄清楚!!!

3.为项目添加SSH Key免去提交输入账号密码的麻烦

不知道细心的你有没有发现,仓库地址除了Https外,还有一个SSH,这里我们简单介绍下

两者的区别,第一点:使用Https url可以任意克隆Github上的项目;而是用SSH url

克隆的话,你必须是项目的拥有者或管理员,而且还要添加SSH Key,否则会无法克隆。

还有一点是,Https每次push都需要输入用户名和密码,而使用SSH则不需要输入用户名

如果配置SSH Key时设置了密码,则需要输入密码,否则直接git push就可以了!

另外,SSH,Secure shell(安全外壳协议),专为远程登陆会话与其他网络服务提供安全性

的协议,而SSH传输的数据是可以经过压缩的,可以加快传输的速度,出于安全性与速度,

我们优先考虑使用SSH协议,而SSH的安全验证规则又分为基于密码和基于密钥两种!

我们这里用的是基于第二种的,即在本地创建一对密钥,公钥(id_rsa.pub)和私钥(id_rsa),

然后把公钥的内容贴到Github账号的ssh keys中,这样就建立了本地和远程的认证关系,

当我们再push到远程仓库,会将你本地的公共密钥与服务器的进行匹配,如果一致验证通过

直接推送更新!

下面我们来建立ssh key,首先来到电脑的根目录下,这里假定我们没创建过SSH key:

执行完ssh-keygen那个指令后,后面依次要你输入文件名,直接回车会生成两个默认的

秘钥文件,接着提示输入密码,直接回车,如果这里你输入密码了的话,那么push的时

候你还是需要输入密码,接着又输多一次密码,同样回车,然后出现最下面的这串东西

就说明ssh key已经创建成功了!

我们接着可以用编辑器打开id_rsa.pub文件或者键入:

clip<id_rsa.pub

复制文件内容,然后打开Github,点击你的头像,选择:Settings,然后点击左侧SSH Keys,

然后New SSH Key

然后Github会给你发来一个提示创建了一个新ssh key的邮件,无视就好,接下来我们可以

键入:ssh-T 779878443@qq.com,后面的是你的注册邮箱,然后如果你上面设置过

密码则需要输入密码,否则直接输入yes然后一直按回车就好!,最后出现Hi xxx那句话

就说明ssh key配置成功了!

二、如何配置github中的SSH key值

方法/步骤

检查SSH是否失效

在git命令行中进行git操作的时候,发现原来设置过的SSH key已经失效;登陆到github网站上查看,图标呈现灰色;好了,发现问题所在;

设置用户名和邮箱

在git命令行中对git进行全局设置, git config--global user.name"用户名", git config--global user.email"邮箱地址";

生成SSH key

在git命令行中,输入命令: cd~/.ssh,来检测是否生成过key,没有生成过key,会有相关信息提示;然后输入命令: ssh-keygen-t rsa-C“邮箱地址”,按下回车键;然后根据返回的信息,找到.ssh目录下的两个文件;

在github上添加SSH key

在github上点击“setting”,找到添加SSH key的菜单,然后新增SSH key;把文件id_rsa.pub里面的内容全部复制到 key编辑框中,保存完毕;

检查SSH key是否有效

在git命令行输入:ssh-T git@github.com;这里会要求你输入SSH key密码,如果刚才生成SSH key时未输入密码,密码就为空;然后看到信息:

ERROR: Hi用户名! You’ve successfully authenticated;说明配置成功;

再次查看github密钥

登陆到github上查看刚刚输入的SSH key,现在图标的颜色变为绿色,说明密钥配置有效;现在可以在git命令行上进行git操作了;

三、Github笔记 之设置SSH Key密钥

Github链接已有仓库时的认证,是通过使用SSH的公开密钥认证的。

首先,创建SSH Key,语法:

$ ssh-keygen-t rsa-C"content neirong"

-t:密钥的类型 

-C:用于识别密钥的注释

-C一般大家都写的是Email邮箱

以下小者测试的例子:

$ ssh-keygen-t rsa-C"add wm public ssh"

Generating public/private rsa key pair.

Enter file in which to save the key(/c/Users/xx/.ssh/id_rsa):

Created directory'/c/Users/\351\207\212\345\246\202\347\247\230/.ssh'.

下面是要输入的密码:

Enter passphrase(empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in/c/Users/xx/.ssh/id_rsa

Your public key has been saved in/c/Users/xx/.ssh/id_rsa.pub

The key fingerprint is:

SHA256:NGpvF0aaCWM5LsyZz6uTsqPI1UxEiLI9xCOEXdcIDX4 add wm public ssh

The key's randomart image is:

+---[RSA 3072]----+

|o+..==.o    |

|+.=o..o..    |

|.=...E o.   |

|. oo.***   |

| .*.+ S o   |

|  +=...  |

| .+o o.   |

|o+ o  o.   |

|oo.+.o.     |

+----[SHA256]-----+

小者设置的密码是空。

id_rsa文件是私有密钥,id_rsa.pub是公开密钥。

查看公开密钥的方法:

$ cat~/.ssh/id_rsa.pub

把本地设置的公开密钥添加至GitHub中。

现在验证一下用手中的私有密钥与GitHub进行认证和通信了。

语法:

$ ssh-T git@github.com

The authenticity of host'github.com(xx.xx.xx.xx)' can't be established.

RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.

This key is not known by any other names

Are you sure you want to continue connecting(yes/no/[fingerprint])? yes(这里输入yes)

出现以下说明成功通信:

Hi xxx! You've successfully authenticated, but GitHub does not provide shell access.

若有不当之处,敬请原谅。

嵌入式pc(什么是嵌入式PC技术)jsp免费空间(日本jsp免费空间的类型有哪些)