Git使用基本方法二(通过SSH加密传输连接git服务器)

之前介绍的连接git服务器的方法(链接),存在一个不是很方便的问题,即每次上传等操作时都需要用户名和密码。

git服务器还支持通过SSH加密的传输,通过这种方法,可以省去每次都输入密码的麻烦。不过在此之前需要先做一下设置。

1.生成SSH Key

ssh-keygen -t rsa -C "[email protected]"

可以选择保存位置和是否加密,一般不用更改,直接一路回车即可,也不用设密码。

2.上传SSH Key

首先登陆你在git服务器上用的账户,我用的是http://git.oschina.net/,登陆后,右点击上方“个人资料”

之后再左侧栏选择“SSH公钥”

下方会有输入框

这时候需要我们输入之前生成的SSH公钥了,输入命令如下(没有改动存储位置的话)

cat ~/.ssh/id_rsa.pub

以上只是部分,总共大概5行,全部复制过去(不要遗漏),粘贴到公钥那

之后再标题处输个标题,表示这个是那台电脑上的公钥(再每台电脑上生成的公钥不一样,所以换了台电脑的话,需要重新生成,再添加上来,可以把你所有的电脑都添加上

确定之后就将上传成功,之后再向git服务器提交时,就可以不用密码了(第一次可能需要提示输个“yes”)

时间: 2024-12-27 18:47:43

Git使用基本方法二(通过SSH加密传输连接git服务器)的相关文章

ssh免密连接远程服务器

ssh免密连接远程服务器 借助ssky-keygen和ssh-copy-id工具,通过4个简单的步骤实现无需输入密码登录远程Linux主机 生成密钥 通过内置的工具生成RSA算法加密的密钥 ssh-keygen -t rsa 回车默认选项即可,会在当前用户的home文件下生成密钥文件 拷贝密钥 ssh-copy-id -i .ssh/id_rsa.pub -p port [email protected] 输入目标服务器的用户名user,地址ip,端口port即可(如采用默认22端口可忽略-p)

SSH公私钥连接远程服务器

由于为了安全,不让在线服务器被扫描出监听端口,所以建议使用公钥去连接在Internet上的服务器,让我们服务器更安全,操作步骤如下: 使用SecureCRT创建公钥,就是客户端的私钥,如下图: 点击创建身份文件,如下图 点击下一步,如下图: 点击下一步,如下图: 选择RSA,点击下一步,如下图: 自定义短语,登录时会使用,点击下一步,如下图: 自定义密码长度,当然越长越安全,在这里选择的1024,点击下一步,如下图: 选择密钥存放目录,点击"完成",如下图: 选择"是&quo

android studio下gradle与Git错误解决方法

Error: Gradle: Execution failed for task ':mytask' > A problem occurred starting process 'command 'jni/ndk-build.cmd" 这是win7打开android程序出现的问题.解决方法:打开build.gradle,找到"commandLine"这行,把commandLine 'ndk-build', '-C', file('jni').absolutePath改为

vs2017 git到oschina 方法

vs2017中git基本使用方法: 1.开发环境vs2017,git服务器使用git.oschina.net 2.打开vs2017 创建项目 如果已有项目则: 3.完成后在文件前面会有小锁的图标,说明文件已经添加到本地git中,注意到现在还没有推到远程服务器中(git.oschina.net) 4.登录git.oschina.net创建项目 完成后复制该地址: 5.设置连接到git的用户名 设置:全局设置与存储设置 存储设置:把刚才复制的地址粘贴到,如下: 6.推送到远程服务器 或

SSH自动断开连接的原因

方法一: 用putty/SecureCRT连续3分钟左右没有输入, 就自动断开, 然后必须重新登陆, 很麻烦. 在网上查了很多资料, 发现原因有多种, 环境变量TMOUT引起,ClientAliveCountMax和ClientAliveInterval设置问题或者甚至是防火墙的设置问题. 所以可以这么尝试: 1, echo $TMOUT如果显示空白,表示没有设置, 等于使用默认值0, 一般情况下应该是不超时. 如果大于0, 可以在如/etc/profile之类文件中设置它为0.Definiti

SSH自动断开连接的原因-20200323

方法一: 用putty/SecureCRT连续3分钟左右没有输入, 就自动断开, 然后必须重新登陆, 很麻烦. 在网上查了很多资料, 发现原因有多种, 环境变量TMOUT引起,ClientAliveCountMax和ClientAliveInterval设置问题或者甚至是防火墙的设置问题. 所以可以这么尝试: 1, echo $TMOUT如果显示空白,表示没有设置, 等于使用默认值0, 一般情况下应该是不超时. 如果大于0, 可以在如/etc/profile之类文件中设置它为0.Definiti

paramiko:实现ssh协议,对linux服务器资源的访问

介绍 网络传输是遵循协议的,比如SSH,paramiko则是实现了SSHv2协议的一个python库(底层使用的是cryptography).有了paramiko之后,我们便可以通过python使用ssh协议来连接远程服务器执行操作,不用再通过xshell等工具.安装也很简单,直接pip install paramiko即可 paramiko包含两大核心组件:SSHClient和SFTPClient SSHClient的作用类似于Linux下的ssh命令,是对SSH会话的封装,该类封装了传输(t

ssh反向主动连接 及脚本加密

近来,在为公司客户部署相关DNS系统服务,用于资源调度服务,但是客户出口缺少公网ip地址,不能方便的去管理这台服务器,开始想到使用teamviewer做中转,穿透内网,但是在Centos环境下,照teamviewer官方给出的手册尝试安装多次,未果,始终未能获取ID号,甚至最后都安装了图形gnome环境,尝试在图形环境下安装teamviewer,网络始终是notReady,最后,只能放弃使用teamviewer,在公司找了台有公网ip的机器,用ssh反向主动连接,也就是常说的端口转发. 这种方式

Git 之四 通信协议(HTTPS、SSH、Git)、使用远程仓库(GitHub、GitLab、Gitee等)

写在前面   Git 的官网上有很详细的使用教程(当然有翻译版本),具体地址是 https://git-scm.com/book/zh/v2.唯一不足就是,很多讲解并没有实机演示.但是,毫无疑问,官网资料是最全面的!如果有任何疑问,可以去官网看看! 协议   Git 通常也会有个远程仓库.用来协调各个参与者的工作!这与上一代集中式版本控制系统的作用基本类似.一个远程仓库通常只是一个裸仓库(bare repository),即一个没有当前工作目录的仓库. 因为该仓库仅仅作为合作媒介,不需要从磁盘检