git push/pull 提交到github时,如何不用输入用户名和密码 使用ssh协议
ssh-keygen -t rsa -C "wenyuancheng@siwei.tech"
cat ~/.ssh/id_rsa.pub
$ ssh-add rsa文件的路径/xxx_rsa // 添加配置
~/.ssh/目录下会生成几个文件, 然后会生成一大段的 ssh 密钥,然后把这个密钥复制到coding.net 或者是github.
在项目的.git/config中使用 ssh的地址.之后push 就不用输入用户名密码了.
每次生成密钥,看到国内的博客,都要求输入邮箱。但不知道意义何在。
后来在stackOverFlow上看到这个答案。
The email is only optional field to identify the key.
邮箱仅仅是识别用的key
When you create the ssh you type (for example):
ssh-keygen -t rsa -C “any comment can be here”
当你创建ssh的时候
-t = The type of the key to generate
密钥的类型
-C = comment to identify the key
用于识别这个密钥的注释
So the Comment is for you only and you can put anything inside.
Many sites and software are using this comment as the key name.
所以这个注释你可以输入任何内容,很多网站和软件用这个注释作为密钥的名字
各参数含义:
-t:密钥类型,一般为dsa,ecdsa,ed25519和rsa这几种,默认为rsa,可省略;
-b:密钥的位数;
-C:注释文字,比如邮箱。
- 3、当出现以下提示指定保存位置时可选择直接Enter回车,即选择默认保存位置
Enter a file in which to save the key (/c/Users/you/.ssh/id_rsa):[Press enter]
复制代码
- 4、接着会提醒设置密码,可以直接回车回车,当然也可以选择设置密码
Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]
复制代码
到这里就生成了一个新的SSH key,可以使用ls命令查看生成后的文件目录:
- id_rsa和id_rsa.pub分别为私钥和公钥