SSH key的生成及使用
SSH key生成及其使用 一、检查是否已经存在ssh key
通常sshkey会默认生成在用户家目录下,所以查看家目录下是否存在.ssh 文件夹,以及是否存在相关目录就行。(~/.ssh/id_rsa)
二、生成key
在控制台输入:
ssh-keygen -t rsa
Note: -t 的意思是选择kye的type。分别有 RSA 和 DSA 两种。具体请自行百度
控制台输出如下:
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory ‘/root/.ssh’.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
(为了避免每次进行ssh连接时都需要输入passphrase,这里可以不用输入passphrase。)
现在你的私钥被放在了~/.ssh/id_rsa 这个文件里,而公钥被放在了 ~/.ssh/id_rsa.pub 这个文件里。
三、使用ssh key
使用ssh key的目的是使得两台机器之间建立互信,从其中一台登陆到另一台时不需要密码。具体方式如下:
1、先在主机A上创建密钥对
[java]view plaincopy
ssh-keygen -t rsa
这时可以在主机A上看到生成的秘钥~/.ssh/id_rsa 和公钥 ~/.ssh/ id_rsa.pub
2、把主机A的公钥放在主机B上
直接去github上添加sshkey ----------
-------------.................................................................................................
扩展: gitgub常见操作和常见错误!
如果输入$ ssh -Tgit@github.com
出现错误提示:Permission denied (publickey).因为新生成的key不能加入ssh就会导致连接不上github。
解决办法如下:
1、先输入$ ssh-agent,再输入$ ssh-add ~/.ssh/id_key,这样就可以了。
2、如果还是不行的话,输入ssh-add ~/.ssh/id_key 命令后出现报错Could not open a connection to your authentication agent.解决方法是key用Git Gui的ssh工具生成,这样生成的时候key就直接保存在ssh中了,不需要再ssh-add命令加入了,其它的user,token等配置都用命令行来做。
3、最好检查一下在你复制id_rsa.pub文件的内容时有没有产生多余的空格或空行,有些编辑器会帮你添加这些的。
如果输入$ git push origin master
提示出错信息:error:failed to push som refs to .......
解决办法如下:
1、先输入$ git pull origin master //先把远程服务器github上面的文件拉下来
2、再输入$ git push origin master
使用git在本地创建一个项目的过程
$ makdir ~/hello-world //创建一个项目hello-world
$ cd ~/hello-world //打开这个项目
$ git init //初始化
$ touch README
$ git add README //更新README文件
$ git commit -m 'first commit' //提交更新,并注释信息“first commit”
$ git remote add origingit@github.com:dedsf/hello-world.git//连接远程github项目
$ git push -u origin master //将本地项目更新到github项目上去
我是大鱼吃小鱼 || 易冬英 , 前端小渣渣一枚,如有不对,欢迎各位大佬批评指正!