在本地使用git与服务器进行pull、push操作时,每次都要输入密码,比较麻烦,我们可以用ssh密钥来进行验证。这样git使用过程中ssh就会自动登录而无需输入密码。方法如下:
首先用自己账号登录到server上,输入ssh-keygen -t rsa
chenchi@Ubuntu-8:~$ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/chenchi/.ssh/id_rsa):
<wbr>Enter passphrase (empty for no passphrase):<br><wbr>Enter same passphrase again:<br><wbr>Your identification has been saved in /home/chenchi/.ssh/id_rsa.<br>
Your public key has been saved in /home/chenchi/.ssh/id_rsa.pub.<br>
The key fingerprint is:<br>
79:8a:78:8f:c6:12:12:3c:fd:40:84:7b:e3:fc:60:df</wbr></wbr></wbr>chenchi@Ubuntu-8
The key's randomart image is:
.........
输入ssh-keygen -t rsa后,出现各个提示,不用管,一直按回车。这样密钥对就生成完了。其中公共密钥保存在 ~/.ssh/id_rsa.pub ( ~ 表示自己账号的home目录,像我的就是/home/chenchi目录);
私有密钥保存在 ~/.ssh/id_rsa 文件中。
chenchi@Ubuntu-8:~$cd .ssh/
chenchi@Ubuntu-8:~/.ssh$ls
config<wbr>id_rsa<wbr>id_rsa.pub<wbr>known_hosts<br><u><a href="mailto:chenchi@Ubuntu-8:~/.ssh%24" style="text-decoration:none; color:rgb(130,100,161)">chenchi@Ubuntu-8:~/.ssh$</a></u><strong>cat id_rsa.pub<wbr>>> authorized_keys<br></wbr></strong><u><a href="mailto:chenchi@Ubuntu-8:~/.ssh%24" style="text-decoration:none; color:rgb(130,100,161)">chenchi@Ubuntu-8:~/.ssh$</a></u><strong>chmod 600 authorized_keys<br></strong>将公共密钥id_rsa.pub内容放到authorized_keys文件中,并修改authorized_keys的权限。<br>
退出server,然后登录到本地的机器上执行:</wbr></wbr></wbr>
$ scpchenchi@192.168.2.171:/home/chenchi/.ssh/id_rsa<wbr><wbr>/home/chenchi/.ssh/</wbr></wbr><wbr>(内网)</wbr>
$ scp -P 9092<wbr>yourname@210.22.155.236:/home/yupeng/.ssh/id_rsa<wbr><wbr>~/.ssh/id_rsa</wbr></wbr></wbr>(外网)
$ cd /home/chenchi/.ssh/
$ chmod 600 id_rsa
将服务器上密钥对中的私有密钥(id_rsa)用scp命令复制到你自己本地.ssh目录下,修改一下本地的id_rsa
文件权限,这样就好了。之后你用ssh 访问那台服务器时,就不用输入密码 了。
分享到:
相关推荐
elipse egit 插件 使用git来pull push 需要配置的内容特别是master的2行
彻底解决Mac端git clone/push速度太慢的问题,详情请参阅文档。
解决IDEA中git pull冲突的方法 IDEA是一款功能强大且广泛使用的集成开发环境(Integrated Development Environment),它提供了许多实用的功能来帮助开发者更好地进行开发工作。其中,git是一个非常流行的版本控制...
Git钩子是在特定操作(如push、pull或merge)之前或之后执行的自定义脚本。在本案例中,我们可以设置一个`post-receive`钩子在远程仓库接收到新的推送时运行。这个钩子可以触发一个简单的HTTP请求到你的Laravel应用...
Git Bash常用操作命令,包括基本的pull push merge操作等
总结起来,`git push`和`git pull`是Git协同开发中的基础操作,它们确保了团队成员之间的代码同步。理解并熟练使用这两个命令对于进行有效的版本控制至关重要。在实际工作中,应当根据团队规范和个人需求,合理使用...
Git GUI 是一个图形用户界面工具,它为Git版本控制系统提供了直观的交互式界面,使得开发者在处理Git操作时,无需直接使用命令行,也能轻松完成各种任务。在本文中,我们将详细探讨如何通过Git GUI进行从拉取代码到...
Git 基本操作 Git 是一个分布式版本控制软件,不仅仅是一个版本控制系统,也是一个内容管理系统(CMS)、工作管理系统等。下面将详细介绍 Git 的基本操作。 Git 基本概念 Git 是一个分布式版本控制软件,它不同于...
在Git版本控制系统中,`git pull`是一个常见的命令,用于将远程仓库的更新合并到本地分支。然而,当多人协作时,可能会出现冲突,即不同人对同一部分代码进行了不同的修改。本文将详细介绍在遇到`git pull`冲突时的...
在日常开发中,频繁地进行代码的Pull(获取更新)和Push(推送更改)操作,每次都需要输入密码可能会降低工作效率。为了解决这个问题,TortoiseGit提供了配置SSH密钥的方法,使得用户可以实现免密登录,从而更加顺畅...
本文将详细介绍解决Git在尝试执行`git push origin master`命令时报错的常见方法。在Git版本控制系统中,`git push origin master`命令用于将本地master分支的更改推送到远程仓库。然而,在实际操作过程中,可能会...
这样,你可以轻松地在C#.NET程序中调用Git的各种命令,如`git pull`、`git push`等。 总结来说,通过使用C#.NET和Git命令行,开发者可以构建强大的自动化工具,处理版本控制任务,如代码同步、分支管理、提交历史...
- 开发流程:`git add`, `git commit`, `git pull` (rebase), `git push` - 提交前先执行 `git pull --rebase` 以确保本地代码是最新的 **分支管理** - `git branch <branch_name>` 创建新的分支 - `git checkout ...
git是非常好用的工具,你的代码提交后能进行非常优秀的管理
* 如果远程仓库中有文件,先使用git pull --rebase origin master命令将两者内容合并,然后使用git push origin master命令 * 之后,只需使用git push origin master命令,push到远程仓库中 六、其他命令 * git ...
随着经验的增长,你还会接触到更多的高级命令,如分支管理(`git branch`、`git checkout`、`git merge`)、回退操作(`git reset`、`git revert`)以及标签管理(`git tag`)等。Git是一个强大的工具,学习它的...
本篇文章将详细解析Git的常用命令,帮助你更好地理解和掌握Git的基本操作。 ### 新建代码库 创建一个新的Git代码库,你可以使用以下命令: 1. 在当前目录初始化Git代码库:`git init` 2. 在指定目录初始化Git代码...
内容概要: 使用git命令, 先执行pull命令将云端仓库内容同步到本地, 后执行push命令将本地仓库文件上传到云端仓库; 适用人群: git命令使用者; 使用方法: 将本文件放入git clone 后的本地仓库内. 点击后一键执行; ...